Udostępnij za pośrednictwem


Upraszczanie wzorca właściwości (IDE0170)

Własność Wartość
identyfikator reguły IDE0170
Tytuł Upraszczanie wzorca właściwości
Kategoria Styl
podkategorii Reguły języka (preferencje dopasowywania wzorców)
stosowne języki C#
opcje csharp_style_prefer_extended_property_pattern

Przegląd

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ć, używając rozszerzonego wzorca właściwości, w którym podwzorce właściwości służą do odwołania 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łasność 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łę.
domyślna wartość opcji 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 poziom istotności 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 analizy kodu.

Zobacz też