Freigeben über


Compilerfehler CS1655

Aktualisiert: November 2007

Fehlermeldung

Felder von "Variable" können nicht als ref- oder out-Argument übergeben werden, da es sich um "schreibgeschützten Variablentyp" handelt.
Cannot pass fields of 'variable' as a ref or out argument because it is a 'readonly variable type'

Dieser Fehler tritt auf, wenn Sie versuchen, einen Member einer foreach-Variable, eine using-Variable oder eine fixed-Variable als ref-Argument oder out-Argument an eine Funktion zu übergeben. Da diese Variablen im gegebenen Kontext als schreibgeschützt gelten, ist der Vorgang nicht zulässig.

Im folgenden Beispiel wird der Fehler CS1655 generiert.

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