コンパイラ エラー CS1612

更新 : 2007 年 11 月

エラー メッセージ

変数ではないため、'expression' の戻り値を変更できません。

中間式の結果である値型の変更を試みました。この値は永続化されないため、変更されません。

このエラーを解決するには、式の結果を中間値に格納するか、または中間式の参照型を使用します。

使用例

次のコードでは、CS1612 エラーが生成されます。

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