Partager via


Erreur du compilateur CS0236

Mise à jour : novembre 2007

Message d'erreur

Un initialiseur de champ ne peut pas faire référence au champ, à la méthode ou à la propriété non statique 'champ'
A field initializer cannot reference the nonstatic field, method, or property 'field'

Les champs d'instance ne peuvent pas être utilisés pour initialiser d'autres champs d'instance en dehors d'une méthode. Si vous essayez d'initialiser une variable en dehors d'une méthode, pensez à effectuer l'initialisation à l'intérieur du constructeur de classe. Pour plus d'informations, consultez Méthodes (Guide de programmation C#).

L'exemple suivant génère l'erreur 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()
   {
   }
}