Freigeben über


Entfernen Sie den unnötigen unsafe Modifizierer (IDE0380)

Eigentum Wert
Regel-ID IDE0380
Title Entfernen Sie den unnötigen unsafe Modifizierer
Kategorie Stil
Unterkategorie Unnötige Coderegeln (Modifizierereinstellungen)
Anwendbare Sprachen C#
Options Nichts

Überblick

Diese Regel identifiziert Codeblöcke, Methoden, Typen oder andere Deklarationen, die mit dem unsafe Modifizierer gekennzeichnet sind, die tatsächlich keine unsicheren Vorgänge enthalten. Der unsafe Modifizierer ermöglicht die Verwendung von Zeigern und anderen unsicheren Codefeatures. Wenn diese Features jedoch nicht verwendet werden, ist der Modifizierer unnötig und sollte aus Gründen der Codeklarheit entfernt werden.

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

Unterdrücken einer Warnung

Wenn Sie nur einen einzelnen Verstoß unterdrücken möchten, fügen Sie Ihrer Quelldatei Präprozessordirektiven hinzu, um die Regel zu deaktivieren und dann erneut zu aktivieren.

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

Deaktivieren Sie die Regel für eine Datei, einen Ordner oder ein Projekt, indem Sie den Schweregrad in der none auf setzen.

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

Um alle Codestilregeln zu deaktivieren, legen Sie den Schweregrad für die Kategorie Style auf none in der Konfigurationsdatei fest.

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

Weitere Informationen finden Sie unter Vorgehensweise: Unterdrücken von Codeanalyse-Warnungen.

Siehe auch