Как вернуть возврат внутри анонимных методов?

В основном у меня есть анонимный метод, который я использую для своего BackgroundWorker :

worker.DoWork += ( sender, e ) =>
{
    foreach ( var effect in GlobalGraph.Effects )
    {
        // Returns EffectResult
        yield return image.Apply (effect);
    }
};

Когда я делаю это, компилятор сообщает мне:

«Оператор yield не может использоваться внутри анонимного метода или лямбда выражение "

Итак, какой в ​​данном случае самый элегантный способ сделать это? Между прочим, этот метод DoWork находится внутри статического метода, на случай, если это имеет значение для решения.

31
задан Joan Venge 23 March 2011 в 21:08
поделиться