Compilerfehler CS0188

Das Objekt „this“ kann nicht verwendet werden, bevor nicht alle seine Felder zugewiesen wurden.

Alle Felder in einer struct müssen einem Konstruktor zugewiesen werden, bevor der Konstruktor eine Methode in der struct aufrufen kann.

Wenn Sie einen Fehler beim Initialisieren einer Eigenschaft in einem struct-Konstruktor erhalten, ändern Sie den Konstruktorparameter, um das Unterstützungsfeld statt der Eigenschaft selbst anzugeben. Automatisch implementierte Eigenschaften sollten in Strukturen vermieden werden, da sie kein Unterstützungsfeld aufweisen und deshalb nicht über den Konstruktor initialisiert werden können.

Weitere Informationen finden Sie unter Verwenden von Strukturen.

Beispiel

Im folgenden Beispiel wird CS0188 generiert:

// CS0188.cs  
// compile with: /t:library  
namespace MyNamespace  
{  
    class MyClass  
    {  
        struct S  
        {  
            public int a;  

            void MyMethod()  
            {  
            }  

            S(int i)  
            {  
                // a = i;  
                MyMethod();  // CS0188  
            }  
        }  
        public static void Main()  
        { }  

    }  
}  

Siehe auch

Strukturen
Automatisch implementierte Eigenschaften