This documentation is archived and is not being maintained.

Compiler Error CS0191 

Error Message

A readonly field cannot be assigned to (except in a constructor or a variable initializer)

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()
    {
    }
}
Show: