Errore del compilatore CS0446

Aggiornamento: novembre 2007

Messaggio di errore

L'istruzione foreach non può funzionare su un 'Metodo o delegato'. Si desiderava richiamare il 'Metodo o delegato'?
Foreach cannot operate on a 'Method or Delegate'. Did you intend to invoke the 'Method or Delegate'?

Questo errore si verifica quando viene specificato un metodo o un metodo anonimo senza parentesi nella parte dell'istruzione foreach in cui in genere viene inserita una classe di insiemi. Tenere presente che, se il metodo restituisce una classe di insiemi, è possibile, anche se inusuale, inserire una chiamata al metodo in questa posizione.

Esempio

Il seguente codice di esempio genera l'errore CS0446.

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