Číst v angličtině

Sdílet prostřednictvím


Chyba kompilátoru CS0110

Vyhodnocení konstantní hodnoty pro "const deklarace" zahrnuje kruhovou definici.

Deklarace proměnné const nemůže odkazovat na jinou proměnnou const tak, aby byla vytvořena cyklický závislost. To platí také pro přidružené konstantní hodnoty členů výčtu.

Příklad

Přidružená konstantní hodnota MyClass.Color.Red je explicitně nastavena na MyClass.Color.Blue, ale hodnota MyClass.Color.Blue je závislá na předchozím výčtovém členu (MyClass.Color.Red), proto nelze určit obě konstantní hodnoty. Podobně je konstantní proměnná MyClass.a definována z hlediska MyClass.b, ale je definována také z hlediska MyClass.a.

Následující ukázka vygeneruje 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;
}

Pokud chcete tuto chybu vyřešit, přerušte cyklický odkaz úpravou nebo odebráním definice.

Viz také