Udostępnij za pośrednictwem


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.

Zobacz też