Erreur du compilateur CS0110
L’évaluation de la valeur de constante de 'const declaration' implique une définition circulaire
La déclaration d’une variable const ne peut pas référencer une autre variable const de manière à ce qu’une dépendance circulaire soit formée. Cela s’applique également aux valeurs constantes associées de membres enum.
La valeur constante associée de MyClass.Color.Red
est explicitement définie sur MyClass.Color.Blue
, mais la valeur de MyClass.Color.Blue
dépend du membre enum précédent (MyClass.Color.Red
). Les deux valeurs constantes ne peuvent donc pas être déterminées. De même, la variable constante MyClass.a
est définie en termes de MyClass.b
, mais elle est également définie en termes de MyClass.a
.
L’exemple suivant génère l’erreur 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;
}
Pour résoudre cette erreur, arrêtez la référence circulaire en modifiant ou en supprimant la définition.
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :