コンパイラ エラー 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;
}
このエラーを解決するには、定義を変更または削除して循環参照を削除します。
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。