更新:2007 年 11 月

错误消息

“struct1”类型的结构成员“struct2 field”在结构布局中导致循环

两个结构的定义包含递归引用。更改 struct 定义以便每个结构都不会在另一结构上定义自身。此限制仅适用于结构,因为结构是值类型。如果使用递归引用,请将类型声明为类。

下面的示例生成 CS0523:

 复制代码
// CS0523.cs
// compile with: /target:library
struct RecursiveLayoutStruct1
{
   public RecursiveLayoutStruct2 field;
}

struct RecursiveLayoutStruct2
{
   public RecursiveLayoutStruct1 field;   // CS0523
}