Číst v angličtině

Sdílet prostřednictvím


Chyba kompilátoru CS0200

Vlastnost nebo indexer nelze přiřadit – je určena jen pro čtení.

Došlo k pokusu o přiřazení hodnoty vlastnosti, ale vlastnost nemá objekt set nebo přiřazení bylo mimo konstruktor. Vyřešte chybu přidáním přístupového objektu sady. Další informace naleznete v tématu Jak deklarovat a používat vlastnosti pro čtení i zápis.

Příklady

Následující ukázka vygeneruje 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
    }
}  

Následující ukázka používá automaticky implementované vlastnosti a inicializátory objektů a stále generuje 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
        };
    }
}

Pokud chcete přiřadit vlastnost nebo indexer vlastnost, která je určena jen pro čtení, přidejte objekt set nebo přiřaďte hodnotu v konstruktoru objektu.

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

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