Expand Minimize
This topic has not yet been rated - Rate this topic

Compiler Error CS1621 

Error Message

The yield statement can not be used inside anonymous method blocks

The yield statement cannot be in an anonymous method block in an iterator.

Example

The following sample generates CS1621:

// CS1621.cs

using System.Collections;

delegate object MyDelegate();

class C : IEnumerable
{
    public IEnumerator GetEnumerator()
    {
        MyDelegate d = delegate
        {
            yield return this; // CS1621
            return this;
        };
        d();
        // Try this instead:
        // MyDelegate d = delegate { return this; };
        // yield return d();
    }

    public static void Main()
    {
    }
}
Did you find this helpful?
(1500 characters remaining)

Community Additions

ADD
© 2013 Microsoft. All rights reserved.