다음을 통해 공유


불필요한 억제 제거(IDE0370)

재산 가치
규칙 아이디 IDE0370
Title 불필요한 억제 제거
범주 스타일
하위 범주 불필요한 코드 규칙(억제 기본 설정)
적용 가능한 언어 C#
옵션 None

개요

이 규칙은 null-forgiving 연산 자(!)를 사용하여 불필요한 nullable 경고 억제를 식별합니다. null-forgiving 연산자는 값이 null이 아님을 컴파일러에게 알리고, null 허용 참조 형식에 대한 경고를 억제합니다. 그러나 컴파일러에서 값이 null이 아님을 이미 확인할 수 있는 경우 null-forgiving 연산자는 불필요하며 제거할 수 있습니다.

예제

// Code with violations.
#nullable enable

void ProcessValue()
{
    List<string> names = new()!;
}

// Fixed code.
#nullable enable

void ProcessValue()
{
    List<string> names = new(); // No suppression needed.
}

경고 표시 안 함

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

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

파일, 폴더 또는 프로젝트에 대한 규칙을 비활성화하려면 none에서 해당 심각도를 로 설정하세요.

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

코드 스타일 규칙을 모두 비활성화하려면 Style에서 범주 none의 심각도를 로 설정하십시오.

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none

자세한 내용은 코드 분석 경고를 표시하지 않는 방법을 참조하세요.

참고하십시오