다음을 통해 공유


불필요한 unsafe 한정자 제거(IDE0380)

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

개요

이 규칙은 실제로 안전하지 않은 작업을 포함하지 않는 한정자가 표시된 unsafe 코드 블록, 메서드, 형식 또는 기타 선언을 식별합니다. 한 unsafe 정자는 포인터 및 기타 안전하지 않은 코드 기능을 사용할 수 있지만 이러한 기능을 사용하지 않는 경우 한정자는 불필요하며 코드 명확성을 위해 제거해야 합니다.

예제

// Code with violations.

// Unnecessary, no unsafe operations.
unsafe class MyClass
{
    public void Method()
    {
        var x = 5;
    }
}

// Unnecessary, no unsafe operations.
unsafe void ProcessData(int value)
{
    Console.WriteLine(value);
}

// Fixed code.
class MyClass
{
    public void Method()
    {
        var x = 5;
    }
}

void ProcessData(int value)
{
    Console.WriteLine(value);
}

// Example where 'unsafe' is needed.
unsafe class ValidUsage
{
    int* pointer; // Pointer type requires 'unsafe'.
}

경고 표시 안 함

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

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

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

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

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

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

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

참고하십시오