コンパイラ エラー CS1648

更新 : 2007 年 11 月

エラー メッセージ

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

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

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

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

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

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