閱讀英文

共用方式為


編譯器錯誤 CS1648

唯讀欄位 'identifier' 的成員無法修改 (除非是在建構函式或變數初始設定式中)

當您嘗試修改不允許修改的唯讀欄位成員時,就會發生這個錯誤。 若要解決這個錯誤,請將唯讀欄位的指派限制為建構函式或變數初始設定式,或移除欄位宣告的唯讀關鍵字。

範例

下列範例會產生 CS1648:

// CS1648.cs
public struct Inner
{
    public int i;
}

class Outer
{
    public readonly Inner inner = new Inner();
}

class D
{
    static void Main()
    {
        var outer = new Outer();
        outer.inner.i = 1;  // CS1648
    }
}