(0) exportieren Drucken
Alle erweitern
Erweitern Minimieren
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Compilerfehler CS0188

Das this-Objekt kann erst verwendet werden, wenn alle Felder zugeordnet wurden.

Bevor der Konstruktor eine Methode in struct aufrufen kann, müssen alle struct-Felder von einem Konstruktor zugewiesen werden.

Wenn beim Versuch, eine Eigenschaft in einem Strukturkonstruktor zu initialisieren, dieser Fehler angezeigt wird, besteht die Lösung darin, den Konstruktorparameter so zu ändern, dass das dahinter liegende Feld anstelle der Eigenschaft selbst angegeben wird. Automatisch implementierte Eigenschaften sollten in Strukturen vermieden werden, weil für sie kein dahinter liegendes Feld vorhanden ist und es nicht vom Konstruktor aus initialisiert werden kann.

Weitere Informationen finden Sie unter Verwenden von Strukturen (C#-Programmierhandbuch).

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()
        { }

    }
}

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft