編譯器錯誤 CS1648
更新:2007 年 11 月
錯誤訊息
唯讀欄位 'identifier' 的成員無法修改 (除非是在建構函式或變數初始設定式中)
當您嘗試修改不允許修改的唯讀欄位的成員時,便會發生這個錯誤。若要解決這個錯誤,請將唯讀欄位的設定限於建構函式 (Constructor) 或變數初始設定式,或從欄位的宣告中移除 readonly 關鍵字。
下列範例會產生 CS1648:
// CS1648.cs
public struct Inner
{
public int i;
}
class Outer
{
public readonly Inner inner = new Inner();
}
class D
{
static void Main()
{
Outer outer = new Outer();
outer.inner.i = 1; // CS1648
}
}