Errore del compilatore CS1650

Aggiornamento: novembre 2007

Messaggio di errore

Impossibile effettuare un'assegnazione ai campi di un campo statico in sola lettura 'identificatore' (tranne che in un costruttore statico o in un inizializzatore di variabile).
Fields of static readonly field 'identifier' cannot be assigned to (except in a static constructor or a variable initializer)

Questo errore si verifica quando si tenta di modificare un membro di un campo statico di sola lettura in un contesto in cui tale operazione non è consentita. Per correggere l'errore, effettuare assegnazioni ai campi di sola lettura solo nel costruttore o nell'inizializzatore di variabile oppure rimuovere la parola chiave readonly dalla dichiarazione 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
    }
}