編譯器錯誤 CS0523
更新:2007 年 11 月
錯誤訊息
結構成員 'struct2 field' (型別為 'struct1') 在結構配置中造成循環
兩個結構 (Struct) 的定義包含遞迴參考。請變更結構定義,使個別定義不會在其他定義上定義其本身。此限制僅適用於結構,因為結構是實值型別 (Value Type)。如果使用遞迴參考,請將型別宣告為類別。
下列範例會產生 CS0523:
// CS0523.cs
// compile with: /target:library
struct RecursiveLayoutStruct1
{
public RecursiveLayoutStruct2 field;
}
struct RecursiveLayoutStruct2
{
public RecursiveLayoutStruct1 field; // CS0523
}