CA1712: 열거형 값에 형식 이름을 접두사로 사용하지 마십시오.

속성
규칙 ID CA1712
타이틀 열거형 값에 형식 이름을 접두사로 사용하지 마세요.
범주 이름 지정
수정 사항이 주요 변경인지 여부 주요 변경
.NET 8에서 기본적으로 사용 아니요

원인

열거형에 이름이 열거형의 형식 이름으로 시작하는 멤버가 포함됩니다.

규칙 설명

개발 도구에서 형식 정보를 제공하므로 열거형 멤버의 이름에는 형식 이름을 접두사로 사용하지 않습니다.

명명 규칙은 공용 언어 런타임을 대상으로 하는 라이브러리에 대한 일반적인 모양을 제공합니다. 따라서 새 소프트웨어 라이브러리를 학습하는 데 필요한 시간이 단축되고 라이브러리가 관리 코드 개발 관련 전문 지식을 갖춘 누군가에 의해 개발되었다는 사실에 고객 신뢰도가 향상됩니다.

위반 문제를 해결하는 방법

이 규칙의 위반 문제를 해결하려면 열거형 멤버에서 형식 이름 접두사를 제거합니다.

경고를 표시하지 않는 경우

이 규칙에서는 경고를 표시해야 합니다.

예시

다음 예제에서는 이름이 잘못 지정된 열거형과 수정된 버전을 보여 줍니다.

public enum DigitalImageMode
{
    DigitalImageModeBitmap = 0,
    DigitalImageModeGrayscale = 1,
    DigitalImageModeIndexed = 2,
    DigitalImageModeRGB = 3
}

public enum DigitalImageMode2
{
    Bitmap = 0,
    Grayscale = 1,
    Indexed = 2,
    RGB = 3
}
Imports System

Namespace ca1712

    Enum DigitalImageMode

        DigitalImageModeBitmap = 0
        DigitalImageModeGrayscale = 1
        DigitalImageModeIndexed = 2
        DigitalImageModeRGB = 3

    End Enum

    Enum DigitalImageMode2

        Bitmap = 0
        Grayscale = 1
        Indexed = 2
        RGB = 3

    End Enum

End Namespace

분석할 코드 구성

다음 옵션을 사용하여 이 규칙이 실행될 코드베이스 부분을 구성합니다.

이 규칙, 적용되는 모든 규칙 또는 적용되는 이 범주의 모든 규칙(명명)에 대해 이 옵션을 구성할 수 있습니다. 자세한 내용은 코드 품질 규칙 구성 옵션을 참조하세요.

열거형 값 접두사 트리거

규칙을 트리거하는 데 필요한 열거형 값의 개수를 구성할 수 있습니다. 예를 들어 하나 이상의 열거형 값이 열거형 형식 이름으로 시작하는 경우 규칙이 트리거되도록 지정하려면 프로젝트의 .editorconfig 파일에 다음 키-값 쌍을 추가합니다.

dotnet_code_quality.CA1712.enum_values_prefix_trigger = AnyEnumValue

예:

옵션 값 요약
dotnet_code_quality.CA1712.enum_values_prefix_trigger = AnyEnumValue ‘일부’ 열거형 값이 열거형 형식 이름으로 시작하는 경우 규칙이 트리거됩니다.
dotnet_code_quality.CA1712.enum_values_prefix_trigger = AllEnumValues ‘모든’ 열거형 값이 열거형 형식 이름으로 시작하는 경우 규칙이 트리거됩니다.
dotnet_code_quality.CA1712.enum_values_prefix_trigger = Heuristic 규칙은 기본 휴리스틱을 사용하여 트리거됩니다. 즉, 열거형 값의 75% 이상이 열거형 형식 이름으로 시작하는 경우 트리거됩니다.

참고 항목