編譯器錯誤 CS1917
更新:2007 年 11 月
錯誤訊息
型別 'struct name' 的唯讀欄位 'name' 成員無法以物件初始設定式進行指派,因為它是實值型別
屬於實值型別 (Value Type) 的唯讀欄位只能透過建構函式 (Constructor) 指派。
若要修正這個錯誤
將結構 (Struct) 變更為類別型別。
以建構函式初始化此結構。
範例
下列程式碼會產生 CS1917:
// cs1917.cs
class CS1917
{
public struct TestStruct
{
public int i;
}
public class C
{
public readonly TestStruct str = new TestStruct();
public static int Main()
{
C c = new C { str = { i = 1 } }; // CS1917
return 0;
}
}
}