Błąd kompilatora CS0110
Ocena stałej wartości dla "deklaracji const" obejmuje definicję cykliczną
Deklaracja zmiennej const nie może odwoływać się do innej zmiennej const, tak aby utworzyć zależność cykliczną. Dotyczy to również skojarzonych wartości stałych elementów członkowskich wyliczenia.
Skojarzona wartość stałej MyClass.Color.Red
jest jawnie ustawiona na MyClass.Color.Blue
, ale wartość MyClass.Color.Blue
elementu jest zależna od poprzedniego elementu wyliczenia (MyClass.Color.Red
), dlatego nie można określić obu wartości stałych. Podobnie zmienna MyClass.a
stała jest definiowana w kategoriach MyClass.b
, ale jest ona również zdefiniowana pod względem MyClass.a
.
Poniższy przykład generuje 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;
}
Aby rozwiązać ten błąd, należy przerwać odwołanie cykliczne, modyfikując lub usuwając definicję.
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię: