Ошибка компилятора CS0523
Обновлен: Ноябрь 2007
Сообщение об ошибке
Член структуры "struct2 field" типа "struct1" приводит к циклу в этой структуре
Struct member 'struct2 field' of type 'struct1' causes a cycle in the struct layout
Определения двух структур содержат рекурсивные ссылки. Измените определения структур таким образом, чтобы каждая из них не определялась в другой. Это ограничение применимо только к структурам, поскольку они являются типами значений. При использовании рекурсивных ссылок объявите типы в качестве классов.
В следующем примере возникает ошибка CS0523.
// CS0523.cs
// compile with: /target:library
struct RecursiveLayoutStruct1
{
public RecursiveLayoutStruct2 field;
}
struct RecursiveLayoutStruct2
{
public RecursiveLayoutStruct1 field; // CS0523
}