コンパイラ エラー 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
}
}