Share via


CA1724: 형식 이름은 네임스페이스와 달라야 합니다

속성
규칙 ID CA1724
타이틀 형식 이름은 네임스페이스와 달라야 합니다.
범주 이름 지정
수정 사항이 주요 변경인지 여부 주요 변경
.NET 8에서 기본적으로 사용 아니요

원인

외부에 표시되는 형식이 하나 이상 있는 참조된 네임스페이스 이름과 형식 이름이 일치합니다. 이름 비교는 대/소문자를 구분하지 않습니다.

규칙 설명

사용자가 만든 형식 이름은 외부에 표시되는 형식이 있는 참조된 네임스페이스의 이름과 달라야 합니다. 이 규칙을 위반하면 라이브러리의 유용성이 저하될 수 있습니다.

위반 문제를 해결하는 방법

외부에 표시되는 형식이 있는 참조된 네임스페이스 이름과 일치하지 않도록 형식 이름을 바꿉니다.

경고를 표시하지 않는 경우

새로 개발하는 경우에는 이 규칙의 경고를 표시하지 않아도 되는 알려진 시나리오가 없습니다. 경고를 표시하지 않으려면 먼저 라이브러리 사용자가 일치하는 이름과 어떻게 혼동할 수 있는지를 신중하게 고려해야 합니다. 제공하는 라이브러리인 경우 이 규칙의 경고를 표시하지 않아도 됩니다.

경고 표시 안 함

단일 위반만 표시하지 않으려면 원본 파일에 전처리기 지시문을 추가하여 규칙을 사용하지 않도록 설정한 후 다시 사용하도록 설정합니다.

#pragma warning disable CA1724
// The code that's violating the rule is on this line.
#pragma warning restore CA1724

파일, 폴더 또는 프로젝트에 대한 규칙을 사용하지 않도록 설정하려면 구성 파일에서 심각도를 none으로 설정합니다.

[*.{cs,vb}]
dotnet_diagnostic.CA1724.severity = none

자세한 내용은 방법: 코드 분석 경고 표시 안 함을 참조하세요.

예제

namespace MyNamespace
{
    // This class violates the rule
    public class System
    {
    }
}