C# Error CS1650 – Fields of static readonly field ‘{0}’ cannot be assigned to (except in a static constructor or a variable initializer)

C# Error

CS1650 – Fields of static readonly field ‘{0}’ cannot be assigned to (except in a static constructor or a variable initializer)

Reason for the Error & Solution

Fields of static readonly field ‘identifier’ cannot be assigned to (except in a static constructor or a variable initializer)

This error occurs when you attempt to modify a member of a field which is readonly and static where it is not allowed to be modified. To resolve this error, limit assignments to readonly fields to the constructor or variable initializer, or remove the readonly keyword from the declaration of the field.

// CS1650.cs  
public struct Inner  
{  
    public int i;  
}  
  
class Outer  
{  
    public static readonly Inner inner = new Inner();  
}  
  
class D  
{  
    static void Main()  
    {  
        Outer.inner.i = 1;  // CS1650  
    }  
}  

Leave A Reply

Your email address will not be published. Required fields are marked *

You May Also Like

C# Compiler Error CS0442 – ‘Property’: abstract properties cannot have private accessors Reason for the Error You’ll get this error...
This is a really simple one . Below is a simple example of an enum called “Designation” defined with the...
This blog post explain the usage of the Checked Block in .NET and how you can use them in Visual...