CA1708: 식별자에는 대/소문자만 다른 이름을 사용할 수 없습니다.
속성 | 값 |
---|---|
규칙 ID | CA1708 |
제목 | 식별자에는 대/소문자만 다른 이름을 사용할 수 없습니다. |
범주 | 이름 지정 |
수정 사항이 주요 변경인지 여부 | 주요 변경 |
.NET 9에서 기본적으로 사용 | 아니요 |
원인
두 형식, 멤버, 매개 변수 또는 정규화된 네임스페이스의 이름이 소문자로 변환될 경우 동일합니다.
기본적으로 이 규칙은 외부에 표시되는 형식, 멤버 및 네임스페이스만 확인하지만 이는 구성 가능합니다.
규칙 설명
공용 언어 런타임을 대상으로 하는 언어는 대/소문자를 구분하지 않으므로 네임스페이스, 형식, 멤버 및 매개 변수의 식별자가 대/소문자만 달라서는 안 됩니다. 예를 들어 Visual Basic은 널리 사용되는 대/소문자를 구분하지 않는 언어입니다.
위반 문제를 해결하는 방법
대/소문자를 구분하지 않는 방식으로 다른 식별자와 비교할 때 고유한 이름을 선택합니다.
경고를 표시하지 않는 경우
이 규칙에서는 경고를 표시해야 합니다. 라이브러리가 .NET에서 사용 가능한 모든 언어에서 사용할 수는 않습니다.
분석할 코드 구성
다음 옵션을 사용하여 이 규칙이 실행될 코드베이스 부분을 구성합니다.
이 규칙, 적용되는 모든 규칙 또는 적용되는 이 범주의 모든 규칙(명명)에 대해 이 옵션을 구성할 수 있습니다. 자세한 내용은 코드 품질 규칙 구성 옵션을 참조하세요.
특정 API 화면 포함
접근성을 기반으로 이 규칙을 실행할 코드베이스의 파트를 구성할 수 있습니다. 예를 들어 규칙이 퍼블릭이 아닌 API 표면에서만 실행되도록 지정하려면 프로젝트의 .editorconfig 파일에 다음 키-값 쌍을 추가합니다.
dotnet_code_quality.CAXXXX.api_surface = private, internal
위반의 예
다음 예제에서는 이 규칙의 위반을 보여 줍니다.
public class Class1
{
protected string someName;
public string SomeName => someName;
}
다음 예제에서는 위반 문제를 해결하는 한 가지 방법을 보여줍니다.
public class Class1
{
protected string _someName;
public string SomeName => _someName;
}
.NET