Errore del compilatore CS0236

Aggiornamento: novembre 2007

Messaggio di errore

Un inizializzatore di campo non può fare riferimento al campo, al metodo o alla proprietà non statica 'campo'.
A field initializer cannot reference the nonstatic field, method, or property 'field'

Non è possibile utilizzare i campi di istanza per inizializzare altri campi di istanza esterni a un metodo. Se si tenta di inizializzare una variabile all'esterno di un metodo, eseguire l'inizializzazione all'interno del costruttore della classe. Per ulteriori informazioni, vedere Metodi (Guida per programmatori C#).

Il seguente codice di esempio genera l'errore CS0236:

// CS0236.cs
public class MyClass
{
   public int i = 5;
   public int j = i;  // CS0236
   public int k;      // initialize in constructor

   MyClass()
   {
      k = i;
   }

   public static void Main()
   {
   }
}