Uproszczenie wzorca właściwości (IDE0170)
Właściwość | Wartość |
---|---|
Identyfikator zasady | IDE0170 |
Tytuł | Upraszczanie wzorca właściwości |
Kategoria | Styl |
Subcategory (Podkategoria) | Reguły języka (preferencje dopasowywania wzorców) |
Odpowiednie języki | C# |
Opcje | csharp_style_prefer_extended_property_pattern |
Omówienie
Ta reguła stylu flaguje użycie wzorca zagnieżdżonego we wzorcu właściwości. Wzorzec zagnieżdżony można uprościć, aby używać rozszerzonego wzorca właściwości, w którym podwzorki właściwości są używane do odwołowania się do zagnieżdżonych elementów członkowskich. Rozszerzone wzorce właściwości zwiększają czytelność kodu.
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_extended_property_pattern
Właściwość | Wartość | Opis |
---|---|---|
Nazwa opcji | csharp_style_prefer_extended_property_pattern | |
Wartości opcji | true |
Preferuj wzorzec właściwości rozszerzonej. |
false |
Wyłącza regułę. | |
Wartość opcji domyślnej | true |
Przykład
public record Point(int X, int Y);
public record Segment(Point Start, Point End);
// Violates IDE0170.
static bool IsEndOnXAxis(Segment segment) =>
segment is { Start: { Y: 0 } } or { End: { Y: 0 } };
// Fixed code.
static bool IsEndOnXAxis(Segment segment) =>
segment is { Start.Y: 0 } or { End.Y: 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 IDE0170
// The code that's violating the rule is on this line.
#pragma warning restore IDE0170
Aby wyłączyć regułę dla pliku, folderu lub projektu, ustaw jego ważność na none
w pliku konfiguracji.
[*.{cs,vb}]
dotnet_diagnostic.IDE0170.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.