Compilerfehler CS0843Compiler Error CS0843

Das dahinter liegende Feld für die automatisch implementierte Eigenschaft "Name" muss vollständig zugewiesen werden, bevor die Steuerung wieder an den Aufrufer übergeben wird.Backing field for automatically implemented property 'name' must be fully assigned before control is returned to the caller. Sie könnten den Standardkonstruktor u. U. aus einem Konstruktorinitialisierer aufrufen.Consider calling the default constructor from a constructor initializer.

Um einer automatisch implementierten Eigenschaft einen Wert aus einem Konstruktor zuzuweisen, müssen Sie zunächst den Standardkonstruktor aufrufen, um das Objekt zu erstellen.To assign a value to an automatically-implemented property from a constructor, you must first invoke the default constructor to create the object.

So beheben Sie diesen FehlerTo correct this error

  1. Fügen Sie in einem Konstruktorinitialisierer wie im folgenden Beispiel einen Aufruf des Standardkonstruktors hinzu.Add a call to the default constructor in a constructor initializer as shown in the following example. Beachten Sie den Einsatz von : this().Note the use of : this(). Weitere Informationen finden Sie hier.For more information, see this.

BeispielExample

Durch den folgenden Code wird der Fehler CS0843 ausgelöst:The following code generates 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;  
    }  
}