Partager via


Erreur du compilateur CS0843

Mise à jour : novembre 2007

Message d'erreur

Le champ de stockage pour la propriété implémentée automatiquement 'nom' doit être totalement assigné avant que le contrôle soit retourné à l'appelant. Si possible, appelez le constructeur par défaut à partir d'un initialiseur de constructeur.
Backing field for automatically implemented property 'name' must be fully assigned before control is returned to the caller. Consider calling the default constructor from a constructor initializer.

Pour assigner une valeur à une propriété implémentée automatiquement d'un constructeur, vous devez d'abord appeler le constructeur par défaut pour créer l'objet.

Pour corriger cette erreur

  • Ajoutez un appel au constructeur par défaut dans un initialiseur de constructeur comme indiqué dans l'exemple suivant. Notez l'utilisation de : this(). Pour plus d'informations, consultez this (Référence C#).

Exemple

Le code suivant génère CS0843 :

// cs0843.cs
struct S
{
    public int AIProp { get; set; }
    public S(int i){} //CS0843
    // Try the following lines instead.
   // public S(int i) : this()
   // {
   //     AIProp = i;
   // }
}

class Test
{
    static int Main()
    {
        return 1;
    }
}