Ler em inglês

Compartilhar via


Erro do Compilador CS0200

Não é possível atribuir à propriedade ou ao "property" do indexador – Ela é somente leitura

Foi feita uma tentativa de atribuir um valor a uma propriedade, mas a propriedade não tem um acessador set ou a atribuição estava fora do construtor. Resolva o erro adicionando um acessador set. Para obter mais informações, confira Como declarar e usar propriedades de leitura/gravação.

Exemplos

O seguinte exemplo gera o erro CS0200:

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

O exemplo a seguir usa propriedades implementadas automaticamente e inicializadores de objeto e ainda gera CS0200:

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

Para atribuir a uma propriedade ou ao "property" do indexador que é somente leitura, adicione um acessador set ou atribua o valor no construtor do objeto.

public class Example
{
    int I { get; }

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