編譯器錯誤 CS1917
類型為 'struct name' 的唯讀欄位 'name' 之成員,無法使用物件初始設定式進行指派,因為它是實值類型。
為實值類型的唯讀欄位只能指派於建構函式中。
請將結構變更為類別類型。
使用建構函式來初始化結構。
下列程式碼會產生 CS1917:
C#
// 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;
}
}
}