Udostępnij za pomocą


Usuwanie niepotrzebnego unsafe modyfikatora (IDE0380)

Majątek Wartość
Identyfikator reguły IDE0380
Tytuł Usuwanie niepotrzebnego unsafe modyfikatora
Kategoria Styl
Podkategorii Niepotrzebne reguły kodu (preferencje modyfikatora)
Zastosowane języki C#
Options Żaden

Przegląd

Ta reguła identyfikuje bloki kodu, metody, typy lub inne deklaracje oznaczone modyfikatorem unsafe , który w rzeczywistości nie zawiera żadnych niebezpiecznych operacji. Modyfikator unsafe umożliwia korzystanie ze wskaźników i innych niebezpiecznych funkcji kodu, ale jeśli te funkcje nie są używane, modyfikator jest niepotrzebny i powinien zostać usunięty w celu zapewnienia przejrzystości kodu.

Example

// 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'.
}

Pomijanie ostrzeżenia

Jeśli chcesz pominąć tylko jedno naruszenie, dodaj dyrektywy preprocesora do pliku źródłowego, aby wyłączyć, a następnie ponownie włączyć regułę.

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

Aby wyłączyć regułę dla pliku, folderu lub projektu, ustaw jego ważność na none w pliku konfiguracji.

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

Aby wyłączyć wszystkie reguły stylu kodu, ustaw ważność dla kategorii Style na none w pliku konfiguracji.

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

Aby uzyskać więcej informacji, zobacz Jak pominąć ostrzeżenia dotyczące analizy kodu.

Zobacz także