コンパイラ エラー CS1917
型 'struct name' の読み取り専用フィールド 'name' のメンバーは、値の型であるため、オブジェクト初期化子と共に割り当てることはできません。
値の型である読み取り専用フィールドは、コンストラクターにのみ割り当てることができます。
構造体をクラス型に変更します。
コンストラクターを含む構造体を初期化します。
次のコードでは CS1917 が生成されます。
C#
// 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;
}
}
}
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。