コンパイラ エラー CS1917
更新 : 2007 年 11 月
エラー メッセージ
型 'struct name' の読み取り専用フィールド 'name' のメンバは、値の型であるため、オブジェクト初期化子と共に割り当てることはできません。
値型の読み取り専用フィールドは、コンストラクタでしか割り当てできません。
このエラーを解決するには
構造体をクラス型に変更します。
コンストラクタを使用して構造体を初期化します。
使用例
次のコードは CS1917 を生成します。
// cs1917.cs
class CS1917
{
public struct TestStruct
{
public int i;
}
public class C
{
public readonly TestStruct str = new TestStruct();
public static int Main()
{
C c = new C { str = { i = 1 } }; // CS1917
return 0;
}
}
}