영어로 읽기

다음을 통해 공유


컴파일러 오류 CS0110

'const declaration'에 대한 상수 값 계산에 순환 정의가 포함되어 있습니다.

const 변수 선언은 순환 종속성이 형성되도록 다른 const 변수를 참조할 수 없습니다. 이는 열거형 멤버의 관련 상수 값에도 적용됩니다.

예시

MyClass.Color.Red의 연관된 상수 값은 명시적으로 MyClass.Color.Blue로 설정되었지만 MyClass.Color.Blue의 값은 이전 열거형 멤버(MyClass.Color.Red)에 종속되므로 두 상수 값을 모두 결정할 수 없습니다. 마찬가지로 상수 변수 MyClass.aMyClass.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;
}

이 오류를 해결하려면 정의를 수정하거나 제거하여 순환 참조를 끊습니다.

참고 항목