英語で読む

次の方法で共有


コンパイラ エラー 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;
}

このエラーを解決するには、定義を変更または削除して循環参照を削除します。

関連項目