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