更新 : 2007 年 11 月
エラー メッセージ
コントロールを匿名メソッドまたはラムダ式の本体外に出すことはできません
このエラーは、ジャンプ ステートメント (break、goto、continue など) で、プログラムの制御を匿名メソッド ブロックの外に移動しようとした場合に発生します。匿名メソッド ブロックは関数本体であり、return ステートメントで終了するか、匿名メソッド ブロックの終わりに達して初めて処理を抜けることができます。
次の例では CS1632 エラーが生成されます。
// CS1632.cs
// compile with: /target:library
delegate void MyDelegate();
class MyClass
{
public void Test()
{
for (int i = 0 ; i < 5 ; i++)
{
MyDelegate d = delegate {
break; // CS1632
};
}
}
}