Freigeben über


Eigenschaftenmuster vereinfachen (IDE0170)

Eigenschaft Wert
Regel-ID IDE0170
Titel Eigenschaftenmuster vereinfachen
Kategorie Stil
Unterkategorie Sprachregeln (Einstellungen für den Musterabgleich)
Gültige Sprachen C#
Optionen csharp_style_prefer_extended_property_pattern

Übersicht

Diese Stilregel kennzeichnet die Verwendung eines geschachtelten Musters in einem Eigenschaftenmuster. Ein geschachteltes Muster kann so vereinfacht werden, dass ein erweitertes Eigenschaftsmuster verwendet wird, in dem mittels Eigenschaftsuntermustern auf geschachtelte Member verwiesen wird. Erweiterte Eigenschaftenmuster verbessern die Lesbarkeit von Code.

Optionen

Optionen geben das Verhalten an, das die Regel erzwingen soll. Informationen zum Konfigurieren von Optionen finden Sie unter Optionsformat.

csharp_style_prefer_extended_property_pattern

Eigenschaft Wert Beschreibung
Name der Option csharp_style_prefer_extended_property_pattern
Optionswerte true Bevorzugen Sie das Muster für erweiterte Eigenschaften.
false Die Regel wird deaktiviert.
Standardoptionswert true

Beispiel

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 };

Unterdrücken einer Warnung

Um nur eine einzelne Verletzung zu unterdrücken, fügen Sie der Quelldatei Präprozessoranweisungen hinzu, um die Regel zu deaktivieren und dann wieder zu aktivieren.

#pragma warning disable IDE0170
// The code that's violating the rule is on this line.
#pragma warning restore IDE0170

Um die Regel für eine Datei, einen Ordner oder ein Projekt zu deaktivieren, legen Sie den Schweregrad in der Konfigurationsdatei auf none fest.

[*.{cs,vb}]
dotnet_diagnostic.IDE0170.severity = none

Um alle Regeln im Code-Stil zu deaktivieren, setzen Sie den Schweregrad für die Kategorie in der KonfigurationsdateiStyle auf none.

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none

Weitere Informationen finden Sie unter Vorgehensweise: Unterdrücken von Codeanalyse-Warnungen.

Siehe auch