Compiler Error CS1621
Visual Studio 2005
Error Message
The yield statement can not be used inside anonymous method blocksThe 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()
{
}
}