コンパイラ エラー CS0200
プロパティまたはインデクサー 'property' は読み取り専用なので、割り当てることはできません
プロパティに値を割り当てようとしましたが、プロパティに set アクセサーがないか、または割り当てがコンストラクターの外側でした。 set アクセサーを追加してエラーを解決します。 詳細については、「読み取り/書き込みのプロパティを宣言および使用する方法」を参照してください。
次の例では CS0200 が生成されます。
// CS0200.cs
public class Example
{
private int _mi;
int I
{
get
{
return _mi;
}
// uncomment the set accessor and declaration for _mi
/*
set
{
_mi = value;
}
*/
}
public static void Main()
{
Example example = new Example();
example.I = 9; // CS0200
}
}
次の例では 自動的に実装されるプロパティ オブジェクト初期化子と オブジェクト初期化子を使用し CS0200 を生成します。
// CS0200.cs
public class Example
{
int I
{
get;
// uncomment the set accessor and declaration
//set;
}
public static void Main()
{
var example = new Example
{
I = 9 // CS0200
};
}
}
読み取り専用のプロパティまたはインデクサー "property" に割り当てるには、set アクセサーを追加するか、オブジェクトのコンストラクターで値を割り当てます。
public class Example
{
int I { get; }
public Example()
{
I = -7;
}
}
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。