Compiler Error CS0446

Foreach 不能在“方法或委托”上运行。是否希望调用“方法或委托”?

指定一个没有括号的方法或指定一个在 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() { }
}