Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano dwie powiązane reguły, IDE0078 i IDE0260.
| Własność | Wartość |
|---|---|
| identyfikator reguły | IDE0078 |
| Tytuł | Użyj dopasowywania wzorca |
| Kategoria | Styl |
| podkategoria | Reguły języka (preferencje dopasowywania wzorców) |
| Stosowane języki | C# 9.0+ |
| Opcje | csharp_style_prefer_pattern_matching |
| Własność | Wartość |
|---|---|
| identyfikator reguły | IDE0260 |
| Tytuł | Dopasowywanie wzorca |
| Kategoria | Styl |
| podkategorii | Reguły języka (preferencje dopasowywania wzorców) |
| Stosowane języki | C# |
| opcje | csharp_style_pattern_matching_over_as_with_null_check |
Przegląd
Ta reguła stylu dotyczy używania wzorców języka C# pasujących konstrukcji.
IDE0260 wyraźnie oznacza użycie wyrażenia as, po którym następuje odczyt członka za pośrednictwem operatora warunkowego o wartości null. Ta reguła jest podobna do IDE0019, która oznacza użycie wyrażenia as, a następnie sprawdzenie null.
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łasność | Wartość | Opis |
|---|---|---|
| nazwa opcji | Preferowanie dopasowywania wzorców w stylu C# | |
| 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. | |
| domyślna wartość opcji | true |
csharp_style_pattern_matching_over_as_with_null_check (IDE0260)
Ta opcja umożliwia również skonfigurowanie reguły IDE0019.
| Własność | Wartość | Opis |
|---|---|---|
| nazwa opcji | csharp_style_dopasowanie_wzorca_zamiast_as_z_sprawdzeniem_null | |
| wartości opcji | true |
Preferuj dopasowywanie wzorca w wyrażeniu as z dostępem warunkowym o wartości null. |
false |
Wyłącza regułę. | |
| domyślna wartość opcji | 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ść 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 analizy kodu.