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.
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.
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: