Ausdruckskörper für Eigenschaften verwenden (IDE0025)
Eigenschaft | Wert |
---|---|
Regel-ID | IDE0025 |
Titel | Ausdruckskörper für Eigenschaften verwenden |
Kategorie | Stil |
Unterkategorie | Sprachregeln (Ausdruckskörpermember) |
Gültige Sprachen | C# |
Optionen | csharp_style_expression_bodied_properties |
Übersicht
Diese Stilregel bezieht sich auf die Verwendung von Ausdruckskörpern für Eigenschaften anstelle von Blockkörpern.
Optionen
Geben Sie durch Festlegung der zugehörigen Option für diese Regel an, ob Ausdruckskörper oder Blocktextkörper für Eigenschaften bevorzugt werden, und wenn Ausdruckskörper bevorzugt werden, ob sie nur für einzeilige Ausdrücke bevorzugt werden.
Weitere Informationen zum Konfigurieren von Optionen finden Sie unter Optionsformat.
csharp_style_expression_bodied_properties
Eigenschaft | Wert | Beschreibung |
---|---|---|
Name der Option | csharp_style_expression_bodied_properties | |
Optionswerte | true |
Ausdruckskörper für Eigenschaften bevorzugen |
when_on_single_line |
Ausdruckskörper für Eigenschaften bevorzugen, wenn diese einzeilig sind | |
false |
Blocktexte werden für Eigenschaften bevorzugt | |
Standardoptionswert | true |
// csharp_style_expression_bodied_properties = true
public int Age => _age;
// csharp_style_expression_bodied_properties = false
public int Age { get { return _age; }}
Diese Regel im Vergleich zu IDE0027
Diese Regel, IDE0025
und IDE0027 (Ausdruckstext für Zugriffsmethoden verwenden) sind sehr ähnlich. IDE0025
betrifft das Eigentum als Ganzes, in der Erwägung, dass IDE0027
es sich insbesondere um die Zugriffsmethodenteile der Eigenschaft handelt.
Bei einer schreibgeschützten Eigenschaft, die einfach einen Wert ohne Berechnung zurückgibt, wenn IDE0025
auf csharp_style_expression_bodied_properties = false
festgelegt ist, aber IDE0027
auf csharp_style_expression_bodied_accessors = true
festgelegt ist, enden Sie mit einer Eigenschaft, die wie folgt aussieht:
public int TemperatureF
{
get => _temp;
}
Wenn Sie jedoch IDE0025
auf csharp_style_expression_bodied_properties = true
festlegen, wird die Eigenschaft noch weiter vereinfacht (auch wenn Sie IDE0027
auf csharp_style_expression_bodied_accessors = false
festlegen):
public int TemperatureF => _temp;
Bei einer Lese-/Schreibeigenschaft wird der Unterschied etwas deutlicher, da die Eigenschaft nicht in Ausdruckskörperform geschrieben werden kann (da sie aus mehr als einer Zeile besteht). Selbst wenn IDE0025
auf csharp_style_expression_bodied_properties = true
festgelegt ist, enden Sie trotzdem mit geschweiften Klammern, d. h. einem Blocktextkörper.
Die folgenden Beispiele zeigen, wie eine Eigenschaft mit verschiedenen Kombinationen der beiden Optionen aussieht.
// csharp_style_expression_bodied_properties = false
// csharp_style_expression_bodied_accessors = true
public int TemperatureB
{
get => _temp;
}
// csharp_style_expression_bodied_properties = true
// csharp_style_expression_bodied_accessors = true (or false)
public int TemperatureC => _temp;
// csharp_style_expression_bodied_properties = true (or false)
// csharp_style_expression_bodied_accessors = true
public int TemperatureD
{
get => _temp;
set => _temp = value;
}
// csharp_style_expression_bodied_properties = true
// csharp_style_expression_bodied_accessors = false
public int TemperatureE
{
get
{
return _temp;
}
set
{
_temp = value;
}
}
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 IDE0025
// The code that's violating the rule is on this line.
#pragma warning restore IDE0025
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.IDE0025.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.