Поделиться через


Ошибка компилятора CS0446

Обновлен: Ноябрь 2007

Сообщение об ошибке

Оператор foreach не может работать с "методом или делегатом". Предполагается ли вызывать "метод или делегат"?
Foreach cannot operate on a 'Method or Delegate'. Did you intend to invoke the 'Method or Delegate'?

Эта ошибка возникает при указании метода без скобок или анонимного метода без скобок в части оператора 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() { }
}