CA1717: FlagsAttribute 열거형에만 복수형 이름을 사용해야 합니다.
TypeName |
OnlyFlagsEnumsShouldHavePluralNames |
CheckId |
CA1717 |
범주 |
Microsoft.Naming |
변경 수준 |
주요 변경 |
원인
외부에 표시되는 열거 이름이 복수형 단어로 끝나고, 열거가 System.FlagsAttribute 특성으로 표시되지 않았습니다.
규칙 설명
명명 규칙은 열거 이름이 복수형인 경우 여러 열거 값을 동시에 지정할 수 있음을 나타내도록 되어 있습니다. FlagsAttribute는 컴파일러에서 열거를 비트 필드로 처리하도록 합니다. 그러면 열거에서 비트 연산을 수행할 수 있습니다.
열거 값을 한 번에 하나씩만 지정할 수 있는 경우 열거 이름을 단수형 단어로 만들어야 합니다. 예를 들어 요일을 정의하는 열거를 여러 날짜를 지정할 수 있는 응용 프로그램에서 사용하려는 경우 이 열거에는 FlagsAttribute가 있어야 하며 'Days'라는 이름을 지정할 수 있습니다. 이와 비슷하지만 하루만 지정할 수 있는 열거는 이 특성을 포함할 수 없으며 'Day'라는 이름을 지정할 수 있습니다.
명명 규칙은 공용 언어 런타임을 대상으로 하는 라이브러리에 공통적인 모양을 적용합니다. 이를 통해 새 소프트웨어 라이브러리에 익숙해지는 데 필요한 학습 기간이 단축되고, 관리 코드 개발에 대한 전문 지식을 갖춘 작업자가 라이브러리를 개발했다는 신뢰성이 향상됩니다.
위반 문제를 해결하는 방법
열거 이름을 단수형 단어로 만들거나 FlagsAttribute를 추가하십시오.
경고를 표시하지 않는 경우
이름이 단수형 단어로 끝나는 경우에는 이 규칙에서 경고를 표시하지 않아도 안전합니다.
관련 규칙
CA1714: 플래그 열거형에는 복수형 이름을 사용해야 합니다.
CA1027: 열거형을 FlagsAttribute로 표시하십시오.
CA2217: 열거형을 FlagsAttribute로 표시하지 마십시오.