更新 : 2007 年 11 月
エラー メッセージ
反復子から値を返すことができません。yield return ステートメントを使用して値を返すか、yield break ステートメントを使用して反復子を終了してください。
反復子は、return ステートメントではなく yield ステートメントで値を返す特殊な関数です。詳細については、反復子のトピックを参照してください。
次の例では CS1622 エラーが生成されます。
// CS1622.cs
// compile with: /target:library
using System.Collections;
class C : IEnumerable
{
public IEnumerator GetEnumerator()
{
return (IEnumerator) this; // CS1622
yield return this; // OK
}
}