Compilerfehler CS1612
Aktualisiert: November 2007
Fehlermeldung
Der Rückgabewert "Ausdruck" kann nicht geändert werden, da er keine Variable ist.
Cannot modify the return value of 'expression' because it is not a variable
Es wurde der Versuch unternommen, einen Werttyp zu ändern, der das Ergebnis eines Zwischenausdrucks ist. Da der Wert nicht beibehalten wird, bleibt er unverändert.
Um diesen Fehler zu beheben, speichern Sie das Ergebnis des Ausdrucks in einem Zwischenwert oder benutzen einen Referenztyp für den Zwischenausdruck.
Beispiel
Der Fehler CS1612 wird durch folgenden Code generiert.
// CS1612.cs
public struct MyStruct
{
public int Width;
}
public class ListView
{
public MyStruct Size
{
get { return new MyStruct(); }
}
}
public class MyClass
{
public MyClass()
{
ListView lvi;
lvi = new ListView();
lvi.Size.Width = 33; // CS1612
// Use this instead:
// MyStruct temp = lvi.Size;
// temp.Width = 33;
}
public static void Main() {}
}