Desen eşleştirmeyi kullanma (IDE0078 ve IDE0260)
Bu makalede, IDE0078
IDE0260
ve ile ilgili iki kural açıklanmaktadır.
Özellik | Değer |
---|---|
Kural Kimliği | IDE0078 |
Başlık | Desen eşleştirme kullanma |
Kategori | Stil |
Alt kategori | Dil kuralları (desen eşleştirme tercihleri) |
Geçerli diller | C# 9.0+ |
Seçenekler | csharp_style_prefer_pattern_matching |
Özellik | Değer |
---|---|
Kural Kimliği | IDE0260 |
Başlık | Desen eşleştirme kullanma |
Kategori | Stil |
Alt kategori | Dil kuralları (desen eşleştirme tercihleri) |
Geçerli diller | C# |
Seçenekler | 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 özel olarak bir as
ifadenin kullanımına bayrak ekler ve ardından null koşullu işlecini okuyan bir üye izler. Bu kural, bir ifadenin kullanımını ve ardından null
bir as
denetimi işaretleyen IDE0019 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)
Özellik | Değer | Tanım |
---|---|---|
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 kural IDE0019 de yapılandırılır.
Özellik | Değer | Tanım |
---|---|---|
Seçenek adı | csharp_style_pattern_matching_over_as_with_null_check | |
Seçenek değerleri | true |
Null koşullu üye erişimine sahip ifade yerine as 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, yapılandırma dosyasındaki önem derecesini none
olarak ayarlayın.
[*.{cs,vb}]
dotnet_diagnostic.IDE0078.severity = none
dotnet_diagnostic.IDE0260.severity = none
Kod stili kuralların tümünü devre dışı bırakmak için, kategorinin Style
none
ö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.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin