Ta bort onödiga unsafe modifierare (IDE0380)

Fastighet Värde
Regel-ID IDE0380
Titel Ta bort onödiga unsafe modifierare
Kategori Stil
Underkategori Onödiga kodregler (modifierarinställningar)
Tillämpliga språk C#
Options None

Översikt

Den här regeln identifierar kodblock, metoder, typer eller andra deklarationer som har markerats med unsafe modifieraren som faktiskt inte innehåller några osäkra åtgärder. Modifieraren unsafe tillåter användning av pekare och andra osäkra kodfunktioner, men när dessa funktioner inte används är modifieraren onödig och bör tas bort för kodklarhet.

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

Undertryck en varning

Om du bara vill förhindra en enda överträdelse lägger du till förprocessordirektiv i källfilen för att inaktivera och återaktiverar sedan regeln.

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

Om du vill inaktivera regeln för en fil, mapp eller ett projekt anger du dess allvarlighetsgrad till none i konfigurationsfilen.

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

Om du vill inaktivera alla regler i kodformat anger du allvarlighetsgraden för kategorin Style till none i konfigurationsfilen.

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

Mer information finns i Så här utelämnar du kodanalysvarningar.

Se även