Error del compilador CS1650

Actualización: noviembre 2007

Mensaje de error

Los campos del campo de sólo lectura estático 'identificador' no se pueden asignar (excepto en un constructor estático o un inicializador de variable)
Fields of static readonly field 'identifier' cannot be assigned to (except in a static constructor or a variable initializer)

Este error se produce cuando se intenta modificar un miembro de un campo estático de sólo lectura que no permite modificaciones. Para resolverlo, limite las asignaciones a campos de sólo lectura al constructor o el inicializador de variables, o bien quite la palabra clave readonly de la declaración del campo.

// 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
    }
}