Errore del compilatore CS1678

Aggiornamento: novembre 2007

Messaggio di errore

Il parametro 'numero' è dichiarato come tipo 'tipo1', ma deve essere 'tipo2'.
Parameter 'number' is declared as type 'type1' but should be 'type2'

Questo errore si verifica quando il tipo di parametro in un metodo anonimo è diverso da quello utilizzato nella dichiarazione del delegato su cui viene eseguito il cast del metodo.

Il seguente codice di esempio genera l'errore CS1678:

// CS1678
delegate void D(int i);
class Errors 
{
   static void Main() 
   {
      D d = delegate(string s) { };   // CS1678
      // To resolve, use the following line instead:
      // D d = delegate(int s) { };
   }
}