Так как CSS не имеет этого (все же, я полагаю, что следующая версия будет), последовать совету Konrad Rudolphs для предварительной обработки. Вы, вероятно, хотите использовать тот, который уже существует: m4
ОК; Я надеюсь, что это совпадение, но: SelectMany; объединение IDisposable и LINQ , что (с пользовательской реализацией SelectMany
) позволит:
var foo =
from r in Enumerable.Range(1, 3)
from gen in new Generator()
from g in gen.Gen(r)
select g;
(обратите внимание, что я предполагаю , что для этого есть разумная причина r
)
или с помощью метода расширения Using ()
(вместо SelectMany
):
var foo =
from r in Enumerable.Range(1, 3)
from gen in new Generator().Using()
from g in gen.Gen(r)
select g;
Похоже, вам не следует создавать новый объект Generator
на каждой итерации по двум причинам:
Generator
, вероятно, предназначен только для одного экземпляра, чтобы генерировать значения для заданного набора параметров. Конечно, я могу ошибаться в этом, поэтому, пожалуйста, уточните, если необходимо. Я рекомендую вам попробовать следующее:
using (var gen = new Generator())
{
var foo =
from r in Enumerable.Range(1, 3)
from g in gen.Gen(r)
select g;
}