Share via


CA1515: 공용 형식을 내부로 만드는 것이 좋습니다.

속성
규칙 ID CA1515
타이틀 공용 형식을 내부로 만드는 것이 좋습니다.
범주 유지 관리
수정 사항이 주요 변경인지 여부 주요 변경 아님
.NET 8에서 기본적으로 사용 아니요

원인

실행 파일 어셈블리 내의 형식은 public으로 선언됩니다.

규칙 설명

클래스 라이브러리와 달리 애플리케이션의 API는 일반적으로 공개적으로 참조되지 않으므로 형식을 표시 internal할 수 있습니다.

내부 형식은 공용이 아닌 API를 대상으로 하는 다양한 코드 분석기의 이점을 활용할 수 있습니다.

위반 문제를 해결하는 방법

형식을 .로 표시 internal합니다.

예시

다음 코드 조각은 CA1515 위반을 보여줍니다.

// Inside a project with <OutputKind>Exe</OutputKind>
public class Program
{
    public static void Main(string[] args)
    {
    }
}
Public Class Program
    Public Shared Sub Main(args As string())
    End Sub
End Class

다음 코드 조각은 이 위반을 해결합니다.

// Inside a project with <OutputKind>Exe</OutputKind>
internal class Program
{
    public static void Main(string[] args)
    {
    }
}
Friend Class Program
    Public Shared Sub Main(args As string())
    End Sub
End Class

경고를 표시하지 않는 경우

코드의 유지 관리가 중요하지 않은 경우 이 규칙의 위반을 표시하지 않아도 됩니다.

경고 표시 안 함

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

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

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

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

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