Compiler Error CS0191
Property or indexer 'name' cannot be assigned to -- it is read only
A readonly field can only take an assignment in a constructor or at declaration. For more information, see Constructors (C# Programming Guide).
CS0191 also results if the readonly field is static and the constructor is not marked static.
Example
The following sample generates 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()
{
}
}