閱讀英文

共用方式為


編譯器錯誤 CS0110

'const declaration' 常數值的評估牽涉循環定義

const 變數的宣告無法參考另一個 const 變數,因此會形成循環相依性。 這也適用於列舉成員的相關聯常數值。

範例

MyClass.Color.Red 的相關聯常數值明確設定為 MyClass.Color.Blue,但 MyClass.Color.Blue 的值相依於先前的列舉成員 (MyClass.Color.Red),因此無法判斷這兩個常數值。 同樣地,常數變數 MyClass.a 是以 MyClass.b 來定義,但也會以 MyClass.a 來定義。

下列範例會產生 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;
}

若要解決此錯誤,請修改或移除定義來中斷循環參考。

另請參閱