英語で読む

次の方法で共有


コンパイラ エラー CS1648

読み取り専用フィールド 'identifier' のメンバーは変更できません (コンストラクターまたは変数初期化子では可)。

このエラーは、変更を許可されていない場所で、読み取り専用フィールドのメンバーを変更しようとする場合に発生します。 このエラーを解決するには、読み取り専用フィールドへの割り当てをコンストラクターまたは変数初期化子に制限するか、フィールドの宣言から読み取り専用のキーワードを削除します。

次の例では CS1648 が生成されます。

// CS1648.cs
public struct Inner
{
    public int i;
}

class Outer
{
    public readonly Inner inner = new Inner();
}

class D
{
    static void Main()
    {
        var outer = new Outer();
        outer.inner.i = 1;  // CS1648
    }
}