Leer en inglés

Compartir a través de


Error del compilador CS0110

La evaluación del valor constante para 'const declaration' comprende una definición circular

La declaración de una variable const no puede hacer referencia a otra variable const de modo que se forme una dependencia circular. Esto también se aplica a los valores de constantes asociadas de los miembros de enumeración.

Ejemplo

El valor de la constante asociada de MyClass.Color.Red se establece explícitamente en MyClass.Color.Blue, pero el valor de MyClass.Color.Blue depende del miembro anterior de enumeración (MyClass.Color.Red), por lo que no se pueden determinar ambos valores de la constante. Del mismo modo, la variable de constante MyClass.a se define en términos de MyClass.b, pero también se define en términos de MyClass.a.

El ejemplo siguiente genera la advertencia CS0110:

// CS0110.cs
// compile with: /target:library
class MyClass
{
    enum Color
    {
        Red = Blue,   // CS0110
        Blue,
    }

    public const int a = b + 1;   // CS0110
    public const int b = a + 1;
}

Para resolver este error, interrumpa la referencia circular modificando o quitando la definición.

Consulte también