コンパイラ エラー 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
}