Aracılığıyla paylaş


Gereksiz unsafe değiştiriciyi kaldırma (IDE0380)

Mülkiyet Değer
Kural Kimliği IDE0380
Başlık Gereksiz unsafe değiştiriciyi kaldırma
Kategori Style
alt kategorisi Gereksiz kod kuralları (değiştirici tercihler)
Geçerli diller C#
Options Hiç kimse

Genel Bakış

Bu kural, gerçekten güvenli olmayan işlemler içermeyen değiştirici ile unsafe işaretlenmiş kod bloklarını, yöntemleri, türleri veya diğer bildirimleri tanımlar. unsafe Değiştirici, işaretçilerin ve diğer güvenli olmayan kod özelliklerinin kullanılmasına izin verir, ancak bu özellikler kullanılmadığında değiştirici gereksizdir ve kod netliği için kaldırılmalıdır.

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

Uyarıyı gizleme

Yalnızca tek bir ihlali engellemek istiyorsanız, kuralı devre dışı bırakmak ve sonra yeniden etkinleştirmek için kaynak dosyanıza ön işlemci yönergeleri ekleyin.

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

Bir dosya, klasör veya projenin kuralını devre dışı bırakmak için, none önem derecesini olarak ayarlayın.

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

Kod stili kuralların tümünü devre dışı bırakmak için, kategorinin Stylenone önem derecesini yapılandırma dosyasında olarak ayarlayın.

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

Daha fazla bilgi için bkz. Kod analizi uyarılarını gizleme.

Ayrıca bakınız