Error del compilador CS0191
Actualización: noviembre 2007
Mensaje de error
No se puede asignar la propiedad o el indizador 'nombre' (es de sólo lectura)
Property or indexer 'name' cannot be assigned to -- it is read only
Un campo de sólo lectura (readonly) sólo puede tomar una asignación en un constructor o en el momento de su declaración. Para obtener más información, vea Constructores (Guía de programación de C#).
También se puede obtener el error CS0191 si el campo readonly es static y el constructor no está marcado como static.
Ejemplo
El código siguiente genera el error CS0191.
// CS0191.cs
class MyClass
{
public readonly int TestInt = 6; // OK to assign to readonly field in declaration
MyClass()
{
TestInt = 11; // OK to assign to readonly field in constructor
}
public void TestReadOnly()
{
TestInt = 19; // CS0191
}
public static void Main()
{
}
}