Errore del compilatore CS1655

Aggiornamento: novembre 2007

Messaggio di errore

Impossibile passare campi di 'variabile' come un argomento ref o out perché è 'tipo variabile di sola lettura'.
Cannot pass fields of 'variable' as a ref or out argument because it is a 'readonly variable type'

Questo errore si verifica quando si tenta di passare a una funzione un membro di una variabile foreach, using o fixed come argomento ref o out. L'operazione non è consentita perché in questi contesti le variabili specificate sono considerate di sola lettura.

Il seguente codice di esempio genera l'errore CS1655:

// CS1655.cs
struct S 
{
   public int i;
}

class CMain
{
  static void f(ref int iref)
  {
  }
  
  public static void Main()
  {
     S[] sa = new S[10];
     foreach(S s in sa)
     {
        CMain.f(ref s.i);  // CS1655
     }
  }
}