CA1716: 식별자는 키워드와 달라야 합니다.
속성 | 값 |
---|---|
규칙 ID | CA1716 |
제목 | 식별자는 키워드와 달라야 합니다. |
범주 | 이름 지정 |
수정 사항이 주요 변경인지 여부 | 주요 변경 |
.NET 9에서 기본적으로 사용 | 아니요 |
원인
네임스페이스, 형식, 가상 멤버, 인터페이스 멤버의 이름이 프로그래밍 언어의 예약 키워드와 일치합니다.
기본적으로 이 규칙은 외부에 표시되는 네임스페이스, 형식, 멤버만 확인하지만 표시 유형 및 기호 종류를 구성할 수 있습니다.
규칙 설명
네임스페이스, 형식, 가상 멤버, 인터페이스 멤버에 대한 식별자가 공용 언어 런타임을 대상으로 하는 언어에 정의된 키워드와 달라야 합니다. 사용되는 언어 및 키워드에 따라 컴파일러 오류 및 모호성으로 인해 라이브러리에서 사용하기 어려울 수 있습니다.
이 규칙은 다음 언어의 키워드를 검사합니다.
- Visual Basic
- C#
- C++/CLI
Visual Basic 키워드에는 대/소문자를 구분하지 않는 비교가 사용되고 다른 언어에는 대/소문자를 구분하는 비교가 사용됩니다.
위반 문제를 해결하는 방법
키워드 목록에 표시되지 않는 이름을 선택합니다.
경고를 표시하지 않는 경우
식별자가 API의 사용자를 혼동하지 않으며 라이브러리가 .NET의 사용 가능한 모든 언어에서 사용할 수 있다고 확신하는 경우 이 규칙에서 경고를 표시하지 않을 수 있습니다.
경고 표시 안 함
단일 위반만 표시하지 않으려면 원본 파일에 전처리기 지시문을 추가하여 규칙을 사용하지 않도록 설정한 후 다시 사용하도록 설정합니다.
#pragma warning disable CA1716
// The code that's violating the rule is on this line.
#pragma warning restore CA1716
파일, 폴더 또는 프로젝트에 대한 규칙을 사용하지 않도록 설정하려면 구성 파일에서 심각도를 none
으로 설정합니다.
[*.{cs,vb}]
dotnet_diagnostic.CA1716.severity = none
자세한 내용은 방법: 코드 분석 경고 표시 안 함을 참조하세요.
분석할 코드 구성
다음 옵션을 사용하여 이 규칙이 실행될 코드베이스 부분을 구성합니다.
이 규칙, 적용되는 모든 규칙 또는 적용되는 이 범주의 모든 규칙(명명)에 대해 이러한 옵션을 구성할 수 있습니다. 자세한 내용은 코드 품질 규칙 구성 옵션을 참조하세요.
특정 API 화면 포함
접근성을 기반으로 이 규칙을 실행할 코드베이스의 파트를 구성할 수 있습니다. 예를 들어 규칙이 퍼블릭이 아닌 API 표면에서만 실행되도록 지정하려면 프로젝트의 .editorconfig 파일에 다음 키-값 쌍을 추가합니다.
dotnet_code_quality.CAXXXX.api_surface = private, internal
분석된 기호 종류
이 규칙에 따라 분석할 기호 종류를 구성할 수 있습니다. 허용되는 값은 다음과 같습니다.
Namespace
NamedType
Method
Property
Event
Parameter
쉼표(,
)를 사용하여 여러 값을 구분합니다. 기본값에는 위 목록의 모든 기호 종류가 포함됩니다.
dotnet_code_quality.CA1716.analyzed_symbol_kinds = Namespace, NamedType, Method, Property, Event
.NET