İ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 Style
none
, 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.