コンパイラ エラー CS1914
静的フィールド 'name' をオブジェクト初期化子に割り当てることはできません。
定義上、オブジェクト初期化子は、クラスのオブジェクトつまりインスタンスを初期化します。 型の static
フィールドの初期化には使用できません。 クラスのインスタンスがいくつ作成されても、 static
フィールドのコピーは 1 つだけです。
- フィールドを型のインスタンス フィールドに変更するか、オブジェクト初期化子から初期化しないようにします。
次のコードでは、 TestClass.Number
である static
フィールドを初期化子が初期化しようとするため、CS1914 が生成されます。
// cs1914.cs
using System.Linq;
public class TestClass
{
public string Message { get; set; }
public static int Number { get; set; }
}
class Test
{
static void Main()
{
TestClass b = new TestClass() { Message = "Hello", Number = "555-1212" }; // CS1914
}
}
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。