Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Błąd kompilatora CS0200

Nie można przypisać właściwości lub indeksatora do elementu - jest tylko do odczytu

Podjęto próbę przypisania wartości do właściwości, ale właściwość nie ma ustawionego dostępu lub przypisanie było poza konstruktorem. Rozwiąż ten problem, dodając zestaw metod dostępu. Aby uzyskać więcej informacji, zobacz Jak zadeklarować i używać właściwości odczytu i zapisu.

Przykłady

Poniższy przykład generuje plik CS0200:

C#
// 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
    }
}  

W poniższym przykładzie użyto automatycznie zaimplementowanych właściwości i inicjatorów obiektów i nadal generuje plik CS0200:

C#
// 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
        };
    }
}

Aby przypisać właściwość lub indeksator "właściwość" tylko do odczytu, dodaj zestaw dostępu lub przypisz wartość w konstruktorze obiektu.

C#
public class Example
{
    int I { get; }

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