Używanie dopasowania wzorca (IDE0078 i IDE0260)
W tym artykule opisano dwie powiązane reguły i IDE0078
IDE0260
.
Właściwości | Wartość |
---|---|
Identyfikator reguły | IDE0078 |
Stanowisko | Korzystanie z dopasowania do wzorca |
Kategoria | Styl |
Podkategorii | Reguły języka (preferencje dopasowywania wzorców) |
Odpowiednie języki | C# 9.0+ |
Opcje | csharp_style_prefer_pattern_matching |
Właściwości | Wartość |
---|---|
Identyfikator reguły | IDE0260 |
Stanowisko | Korzystanie z dopasowania do wzorca |
Kategoria | Styl |
Podkategorii | Reguły języka (preferencje dopasowywania wzorców) |
Odpowiednie języki | C# |
Opcje | csharp_style_pattern_matching_over_as_with_null_check |
Omówienie
Ta reguła stylu dotyczy używania konstrukcji dopasowywania wzorców języka C#.
IDE0260 konkretnie flaguje użycie as
wyrażenia, po którym następuje element członkowski odczytany za pomocą operatora warunkowego o wartości null. Ta reguła jest podobna do IDE0019, która flaguje użycie as
wyrażenia, a następnie null
sprawdzanie.
Opcje
Opcje określają zachowanie, które ma być wymuszane przez regułę. Aby uzyskać informacje na temat konfigurowania opcji, zobacz Format opcji.
csharp_style_prefer_pattern_matching (IDE0078)
Właściwości | Wartość | Opis |
---|---|---|
Nazwa opcji | csharp_style_prefer_pattern_matching | |
Wartości opcji | true |
Preferuj używanie konstrukcji dopasowywania wzorców, jeśli jest to możliwe |
false |
Preferuj nie używać konstrukcji dopasowywania wzorców. | |
Wartość opcji domyślnej | true |
csharp_style_pattern_matching_over_as_with_null_check (IDE0260)
Ta opcja umożliwia również skonfigurowanie IDE0019 reguły.
Właściwości | Wartość | Opis |
---|---|---|
Nazwa opcji | csharp_style_pattern_matching_over_as_with_null_check | |
Wartości opcji | true |
Preferuj dopasowywanie wzorca za pomocą as wyrażenia z dostępem warunkowym o wartości null. |
false |
Wyłącza regułę. | |
Wartość opcji domyślnej | true |
Przykłady
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 })
{
}
Pomijanie ostrzeżenia
Jeśli chcesz pominąć tylko jedno naruszenie, dodaj dyrektywy preprocesora do pliku źródłowego, aby wyłączyć, a następnie ponownie włączyć regułę.
#pragma warning disable IDE0078 // or IDE0260
// The code that's violating the rule is on this line.
#pragma warning restore IDE0078 // or IDE0260
Aby wyłączyć regułę dla pliku, folderu lub projektu, ustaw jego ważność na none
w pliku konfiguracji.
[*.{cs,vb}]
dotnet_diagnostic.IDE0078.severity = none
dotnet_diagnostic.IDE0260.severity = none
Aby wyłączyć wszystkie reguły stylu kodu, ustaw ważność dla kategorii Style
na none
w pliku konfiguracji.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Aby uzyskać więcej informacji, zobacz Jak pominąć ostrzeżenia dotyczące analizy kodu.