Použití textu výrazu pro vlastnosti (IDE0025)
Vlastnost | Hodnota |
---|---|
ID pravidla | IDE0025 |
Název | Použití textu výrazu pro vlastnosti |
Kategorie | Styl |
Podkategorie | Jazyková pravidla (členové s výrazy) |
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ů a blokových těl pro vlastnosti.
Možnosti
Nastavte hodnotu přidružené možnosti pro toto pravidlo, abyste určili, jestli jsou pro vlastnosti upřednostňovaná těla výrazů nebo blokové tělo a jestli jsou upřednostňované 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 těla výrazů 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á majetku jako celku, zatímco IDE0027
konkrétně se týká přistupných částí nemovitosti.
U vlastnosti jen pro čtení, která jednoduše vrátí hodnotu bez provádění výpočtu, pokud IDE0025
je nastavena csharp_style_expression_bodied_properties = false
, ale IDE0027
je nastavena na csharp_style_expression_bodied_accessors = true
, skončíte vlastností, která vypadá takto:
public int TemperatureF
{
get => _temp;
}
Pokud ale nastavíte IDE0025
csharp_style_expression_bodied_properties = true
hodnotu , vlastnost se ještě více zjednoduší (i když nastavíte IDE0027
csharp_style_expression_bodied_accessors = false
):
public int TemperatureF => _temp;
U vlastnosti pro čtení i zápis se rozdíl stává trochu zřetelnější, protože vlastnost nelze zapsat výrazem -bodyied (protože se skládá z více než jednoho řádku). Takže i když IDE0025
je nastavena csharp_style_expression_bodied_properties = true
, stále skončíte s složenými složenými závorkami, to znamená blokové tělo.
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
Pokud chcete pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost v none
konfiguračním souboru.
[*.{cs,vb}]
dotnet_diagnostic.IDE0025.severity = none
Pokud chcete zakázat všechna pravidla stylu kódu, nastavte závažnost pro kategorii Style
do none
konfiguračního 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.