Freigeben über


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() {}
}