編譯器錯誤 CS0200
無法指派屬性或索引子 'property',因為它是唯讀
嘗試將值指派給屬性,但屬性沒有 set 存取子,或指派超出建構函式範圍。 請加入 set 存取子來解決此錯誤。 如需詳細資訊,請參閱如何宣告和使用讀寫屬性。
下列範例會產生 CS0200:
C#
// 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:
C#
// 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 存取子,或指派物件建構函式中的值。
C#
public class Example
{
int I { get; }
public Example()
{
I = -7;
}
}