컴파일러 오류 CS0446

‘Method or Delegate’에서는 foreach를 수행할 수 없습니다. ‘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() { }  
}