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