Sdílet prostřednictvím


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 IDE0025a 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 IDE0025csharp_style_expression_bodied_properties = truehodnotu , vlastnost se ještě více zjednoduší (i když nastavíte IDE0027csharp_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.

Viz také