更新:2007 年 11 月
错误消息
不能在匿名方法或 lambda 表达式内使用 yield 语句yield 语句不能存在于迭代器的匿名方法块中。
示例
下面的示例生成 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() { } } |