Použijte tělo výrazu pro vlastnosti (IDE0025)
Vlastnost | Hodnota |
---|---|
Identifikátor pravidla | IDE0025 |
název | Použijte tělo výrazu pro vlastnosti |
kategorie | Styl |
podkategorie | Jazyková pravidla (členy s výrazovým tělem) |
příslušné jazyky | C# |
Možnosti | csharp_style_expression_bodied_properties |
Přehled
Toto pravidlo stylu se týká použití těl výrazů versus blokových těl pro vlastnosti.
Možnosti
Nastavte hodnotu přidružené možnosti pro toto pravidlo a určete, zda jsou u vlastností upřednostňována těla výrazů nebo bloková těla a pokud jsou výrazy upřednostňovány, zda jsou preferovány pouze pro jednořádkové výrazy.
Další informace o konfiguraci možností naleznete v tématu Formát možnosti.
csharp_style_expression_bodied_properties
Vlastnost | Hodnota | Popis |
---|---|---|
název možnosti | csharp_style_expression_bodied_properties | |
hodnoty možností | true |
Upřednostnit těla výrazů pro vlastnosti |
when_on_single_line |
Upřednostněte výrazová těla pro vlastnosti, pokud budou jedním řádkem. | |
false |
Upřednostnit blokové tělo pro vlastnosti | |
výchozí hodnota možnosti | true |
// csharp_style_expression_bodied_properties = true
public int Age => _age;
// csharp_style_expression_bodied_properties = false
public int Age { get { return _age; }}
Toto pravidlo versus IDE0027
Toto pravidlo, IDE0025
a IDE0027 (použití textu výrazu pro přístupové objekty) jsou velmi podobné.
IDE0025
se týká nemovitosti jako celku, zatímco IDE0027
se týká zejména přistupných částí nemovitosti.
Pro vlastnost určenou pouze pro čtení, která jednoduše vrátí hodnotu bez provedení výpočtu, pokud je IDE0025
nastavena na csharp_style_expression_bodied_properties = false
, ale IDE0027
je nastavena na csharp_style_expression_bodied_accessors = true
, výsledkem bude vlastnost, která vypadá takto:
public int TemperatureF
{
get => _temp;
}
Pokud ale nastavíte IDE0025
na csharp_style_expression_bodied_properties = true
, tato vlastnost se ještě více zjednoduší (i když nastavíte IDE0027
na csharp_style_expression_bodied_accessors = false
):
public int TemperatureF => _temp;
U vlastnosti pro čtení i zápis se rozdíl stává o něco zřetelnější, protože tuto vlastnost nelze vyjádřit v podobě s využitím výrazového těla (protože se skládá z více než jednoho řádku). Takže i když je IDE0025
nastaveno na csharp_style_expression_bodied_properties = true
, stále skončíte se složenými závorkami, tj. blokovým tělem.
Následující příklady ukazují, jak vlastnost vypadá s různými kombinacemi těchto dvou možností.
// 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;
}
}
Potlačení upozornění
Pokud chcete potlačit pouze jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, abyste pravidlo zakázali a znovu povolili.
#pragma warning disable IDE0025
// The code that's violating the rule is on this line.
#pragma warning restore IDE0025
Chcete-li pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost na none
v konfiguračním souboru .
[*.{cs,vb}]
dotnet_diagnostic.IDE0025.severity = none
Chcete-li zakázat všechna pravidla stylu kódu, nastavte závažnost pro kategorii Style
na none
v konfiguračním souboru .
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Další informace naleznete v tématu Jak potlačit upozornění analýzy kódu.
Viz také
- Výrazy členů
- Pravidla jazykového stylu kódu
- Odkaz na pravidla stylu kódu