CS0446 de erro do compilador

Mensagem de erro

Foreach não pode operar em um 'método ou delegado'.Você pretendia chamar o 'método ou delegado'?

Este erro é causado pela especificação de um método sem parênteses ou um método anônimo sem parênteses na parte do foreach demonstrativo em que você normalmente deve colocar uma classe de coleção. Observe que é válido, embora incomum, colocar uma telefonar de método no local, se o método retorna uma classe de coleção.

Exemplo

O código a seguir gerará CS0446.

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