Compartir a través de


Error del compilador CS0523

Actualización: noviembre 2007

Mensaje de error

El miembro de estructura 'campo de estructura2' del tipo 'estructura1' crea un ciclo en el diseño de la estructura
Struct member 'struct2 field' of type 'struct1' causes a cycle in the struct layout

Las definiciones de dos estructuras incluyen referencias recursivas. Cambie las definiciones de estructura (struct) para que ninguna de ellas se defina a sí misma en la otra. Esta limitación sólo se aplica a las estructuras, puesto que las estructuras son tipos de valor. Cuando emplee referencias recursivas, declare sus tipos como clases.

El código siguiente genera el error CS0523:

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

struct RecursiveLayoutStruct2
{
   public RecursiveLayoutStruct1 field;   // CS0523
}