Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, IDE0078 ve IDE0260ilgili iki kural açıklanmaktadır.
| Mülk | Değer |
|---|---|
| kural kimliği | IDE0078 |
| Başlık | Desen eşleştirmeyi kullanma |
| Kategori | Üslup |
| Alt Kategori | Dil kuralları (desen eşleştirme tercihleri) |
| Geçerli diller | C# 9.0+ |
| Seçenekleri | csharp_style_prefer_pattern_matching |
| Mülk | Değer |
|---|---|
| Kural Kimliği | IDE0260 |
| Başlık | Desen eşleştirmeyi kullanma |
| Kategori | Üslup |
| alt kategori | Dil kuralları (desen eşleştirme tercihleri) |
| Geçerli diller | C# |
| Seçenekleri | csharp_style_pattern_matching_over_as_with_null_check |
Genel bakış
Bu stil kuralı, C# desen eşleştirme yapılarının kullanımıyla ilgilidir.
IDE0260 özellikle bir as ifadesinin kullanımına bayrak ekler ve ardından null koşullu işleciokunan bir üye izler. Bu kural, as ifadesinin ardından yapılan bir null denetimini işaretleyen IDE0019'e benzer.
Seçenekler
Seçenekler, kuralın zorlamasını istediğiniz davranışı belirtir. Seçenekleri yapılandırma hakkında bilgi için bkz. Seçenek biçimi.
csharp_style_prefer_pattern_matching (IDE0078)
| Mülk | Değer | Açıklama |
|---|---|---|
| Seçenek adı | csharp_style_prefer_pattern_matching | |
| Seçenek değerleri | true |
Mümkün olduğunda desen eşleştirme yapılarını kullanmayı tercih edin |
false |
Desen eşleştirme yapılarını kullanmamak tercih eder. | |
| varsayılan seçenek değeri | true |
csharp_style_pattern_matching_over_as_with_null_check (IDE0260)
Bu seçenek, IDE0019kuralı da yapılandırıyor.
| Mülk | Değer | Açıklama |
|---|---|---|
| Seçenek adı | C# stilinde desene uyan "as" kullanarak null kontrolü | |
| Seçenek değerleri | true |
as ifadesindeki null koşullu üye erişimi yerine desen eşleştirmeyi tercih edin. |
false |
Kuralı devre dışı bırakır. | |
| varsayılan seçenek değeri | true |
Örnekler
IDE0078
// csharp_style_prefer_pattern_matching = true
var x = i is default(int) or > (default(int));
var y = o is not C c;
// csharp_style_prefer_pattern_matching = false
var x = i == default || i > default(int);
var y = !(o is C c);
IDE0260
// Code with violations.
object? o = null;
if ((o as string)?.Length == 0)
{
}
// Fixed code (csharp_style_pattern_matching_over_as_with_null_check = true).
object? o = null;
if (o is string { Length: 0 })
{
}
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 IDE0078 // or IDE0260
// The code that's violating the rule is on this line.
#pragma warning restore IDE0078 // or IDE0260
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.IDE0078.severity = none
dotnet_diagnostic.IDE0260.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.