使用英语阅读

通过


编译器错误 CS0110

“const declaration”的常量值计算涉及循环定义

const 变量的声明不能引用另一个 const 变量,以免形成循环依赖关系。 这也适用于枚举成员的关联常量值。

示例

MyClass.Color.Red 的关联常量值显式设置为 MyClass.Color.Blue,但 MyClass.Color.Blue 的值取决于以前的枚举成员 (MyClass.Color.Red),因此无法确定这两个常量值。 同样,常量变量 MyClass.a 依据 MyClass.b 定义,但也依据 MyClass.a 来定义。

下面的示例生成 CS0110:

C#
// 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;
}

若要解决此错误,请通过修改或删除定义来中断循环引用。

另请参阅