閱讀英文

共用方式為


編譯器錯誤 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;
    }
}