コンパイラ エラー CS0446

更新 : 2007 年 11 月

エラー メッセージ

Foreach は、'メソッドまたはデリゲート' 上で使用できません。'メャbドまたはデリゲート' を呼び出すことはできません。

このエラーは、かっこを付けずにメソッドを指定した場合、または、通常はコレクション クラスを記述する foreach ステートメントの中で、匿名メソッドをかっこなしで指定した場合に発生します。あまり一般的ではありませんが、コレクション クラスを返すメソッドの場合は、このような場所でもメソッド呼び出しを記述できます。

使用例

次のコードでは、CS0446 エラーが生成されます。

// CS0446.cs
using System;
class Tester 
{
    static void Main() 
    {
        int[] intArray = new int[5];
        foreach (int i in M) { } // CS0446
    }
    static void M() { }
}