Erro do compilador CS0110
A avaliação do valor constante da «declaração de const» envolve uma definição circular
A declaração de uma variável const não pode fazer referência a outra variável const de tal forma que uma dependência circular é formada. Isto também se aplica aos valores constantes associados dos membros enum.
O valor constante associado de MyClass.Color.Red
é explicitamente definido como MyClass.Color.Blue
, mas o valor de é dependente do membro enum MyClass.Color.Blue
anterior (MyClass.Color.Red
), portanto, ambos os valores constantes não podem ser determinados. Da mesma forma, a variável MyClass.a
constante é definida em termos de MyClass.b
, mas isso também é definido em termos de MyClass.a
.
O exemplo a seguir gera 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 esse erro, quebre a referência circular modificando ou removendo a definição.
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: