Leer en inglés

Compartir a través de


Error del compilador CS0200

No se puede asignar a -- la propiedad o el indexador 'property' (es de solo lectura)

Se intentó asignar un valor a una propiedad, pero la propiedad no tiene un descriptor de acceso establecido o la asignación estaba fuera del constructor. Para resolver el error agregue un descriptor de acceso set. Para más información, consulte Cómo declarar y usar propiedades de lectura y escritura.

Ejemplos

El ejemplo siguiente genera el error 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
    }
}  

En el ejemplo siguiente se usan propiedades y inicializadores de objetos implementados automáticamente y se siguen generando la advertencia 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 asignar a una propiedad o indexador 'property' que es de solo lectura, agregue un descriptor de acceso set o asigne el valor en el constructor del objeto.

public class Example
{
    int I { get; }

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