Aracılığıyla paylaş


İfadeye eksik durumları ekle (IDE0072)

Mülk Değer
Kural Kimliği IDE0072
Başlık Eksik durumları switch ifadesine ekle
Kategori Üslup
Alt Kategori Dil kuralları (ifade düzeyi tercihleri)
Geçerli diller C# 8.0+

Genel bakış

Bu kural, biranahtar ifadesi için tüm eksik servis taleplerinin belirtilmesiyle ilgilidir. Aşağıdaki senaryolarda bir anahtar ifade eksik vakalar içeriyorsa tamamlanmamış olarak kabul edilir.

  • Bir sabit listesi anahtar deyimi, bir veya daha fazla sabit listesi üyesi için eksik durumlar içeren ifadeler içerdiğinde.
  • Düşme olayı _ eksik olduğunda.

Seçenekler

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

Ö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 ön iş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 önem derecesini yapılandırma dosyasında none olarak ayarlayın.

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

Tüm kod stili kurallarını devre dışı bırakmak için kategori Style önem derecesini yapılandırma dosyasında none 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.