Errore del compilatore CS1648

Aggiornamento: novembre 2007

Messaggio di errore

Impossibile modificare i membri del campo readonly 'identificatore' (tranne che in un costruttore o in un inizializzatore di variabile).
Members of readonly field 'identifier' cannot be modified (except in a constructor or a variable initializer)

Questo errore si verifica quando si tenta di modificare un membro di un campo 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.

Il seguente codice di esempio genera l'errore CS1648:

// CS1648.cs
public struct Inner
  {
    public int i;
  }

class Outer
{  
  public readonly Inner inner = new Inner();
}

class D
{
   static void Main()
   {
      Outer outer = new Outer();
      outer.inner.i = 1;  // CS1648
   }
}