コンパイラ エラー CS0523

更新 : 2007 年 11 月

エラー メッセージ

型 'struct1' の構造体メンバ 'struct2 field' により、構造体レイアウトで循環参照が発生します

2 つの構造体の定義に再帰的な参照が含まれます。それぞれが他方の定義で自身を定義しないように、構造体の定義を変更してください。この制限は、値型である構造体にのみ適用されます。再帰的な参照を使用する場合は、型をクラスとして宣言してください。

次の例では CS0523 エラーが生成されます。

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

struct RecursiveLayoutStruct2
{
   public RecursiveLayoutStruct1 field;   // CS0523
}