다음을 통해 공유


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;
}