İfade değiştirmek için eksik servis talepleri ekleme (IDE0072)

Özellik Değer
Kural Kimliği IDE0072
Başlık İfade değiştirmek için eksik servis talepleri ekleme
Kategori Stil
Alt Kategori Dil kuralları (ifade düzeyi tercihleri)
Geçerli diller C# 8.0+

Genel Bakış

Bu kural, bir switch ifadesi için tüm eksik servis taleplerinin belirtilmesiyle ilgilidir. Aşağıdaki senaryolarda bir switch ifadesi eksik durumlarla tamamlanmamış olarak kabul edilir:

  • Bir sabit listesi anahtarı ifadesinde bir veya daha fazla sabit listesi üyesi için servis talepleri eksik olduğunda.
  • Düşme durumu _ eksik olduğunda.

Seçenekler

Bu kuralın ilişkili kod stili seçeneği yok.

Örnek

enum E
{
    A,
    B
}

class C
{
    // Code with violations
    int M(E e)
    {
        // IDE0072: Add missing cases
        return e switch
        {
            E.A => 0,
            _ => -1,
        };
    }

    // Fixed code
    int M(E e)
    {
        return e switch
        {
            E.A => 0,
            E.B => 1,
            _ => -1,
        };
    }
}

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 önişlemci yönergeleri ekleyin.

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

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

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

Kod stili kuralların tümünü devre dışı bırakmak için Stylenone, kategorinin ö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 bkz.