CS0523 de erro do compilador
Mensagem de erro
Membro struct 'campo struct2' do tipo 'struct1' gera um ciclo no layout de struct
As definições de duas estruturas incluem referências recursivas.Alterar o struct definições de modo que cada não define propriamente dito no Outros.Essa limitação se aplica somente às structs, como estruturas são tipos de valor.Se usar referências recursivas, declare seus tipos sistema autônomo classes.
O exemplo a seguir gera CS0523:
// CS0523.cs
// compile with: /target:library
struct RecursiveLayoutStruct1
{
public RecursiveLayoutStruct2 field;
}
struct RecursiveLayoutStruct2
{
public RecursiveLayoutStruct1 field; // CS0523
}