Ошибка компилятора CS0191
Обновлен: Ноябрь 2007
Сообщение об ошибке
Невозможно присвоить значение свойству или индексатору "имя" — он доступен только для чтения
Property or indexer 'name' cannot be assigned to -- it is read only
Полю с модификатором readonly значение может быть присвоено только при объявлении или в конструкторе. Дополнительные сведения см. в разделе Конструкторы (руководство по программированию на C#).
Ошибка CS0191 также возникает, если поле readonly является static, а конструктор не отмечен как static.
Пример
Этот пример приводит к возникновению ошибки 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()
{
}
}