Freigeben über


Compilerfehler CS0200

Einer Eigenschaft oder einem Indexer des Typs „property“ kann nichts zugewiesen werden, da schreibgeschützt

Es wurde versucht, einer Eigenschaft einen Wert zuzuweisen, aber die Eigenschaft verfügt über keine Set-Zugriffsmethode, oder die Zuweisung erfolgte außerhalb des Konstruktors. Beheben Sie den Fehler, indem Sie einen set-Accessor hinzufügen. Weitere Informationen finden Sie unter Deklarieren und Verwenden von Lese-/Schreibeigenschaften.

Beispiele

Im folgenden Beispiel wird CS0200 generiert:

// CS0200.cs
public class Example
{
    private int _mi;
    int I
    {
        get
        {
            return _mi;
        }
        // uncomment the set accessor and declaration for _mi
        /*
        set
        {
            _mi = value;
        }
        */
    }

    public static void Main()
    {  
        Example example = new Example();
        example.I = 9;   // CS0200
    }
}  

Im folgenden Beispiel werden automatisch implementierte Eigenschaften und Objektinitialisierer verwendet, und CS0200 wird weiterhin generiert:

// CS0200.cs
public class Example
{
    int I
    {
        get;
        // uncomment the set accessor and declaration
        //set;
    }

    public static void Main()
    {  
        var example = new Example
        {
            I = 9   // CS0200
        };
    }
}

Um einer Eigenschaft oder einem Indexer des Typs „property“ mit Schreibschutz etwas zuzuweisen, fügen Sie eine Set-Zugriffsmethode hinzu, oder weisen Sie den Wert im Konstruktor des Objekts zu.

public class Example
{
    int I { get; }

    public Example()
    {
        I = -7;
    }
}