Megosztás a következőn keresztül:


Kifejezéstörzs használata tulajdonságokhoz (IDE0025)

Tulajdonság Érték
Szabályazonosító IDE0025
Cím Kifejezéstörzs használata tulajdonságokhoz
Kategória Stílus
Alkategória Nyelvi szabályok (kifejezés által testesített tagok)
Alkalmazandó nyelvek C#
Beállítások csharp_style_expression_bodied_properties

Áttekintés

Ez a stílusszabály a kifejezéstörzsek és a blokktestek tulajdonságokhoz való használatát érinti.

Beállítások

A szabályhoz társított beállítás értékének beállításával megadhatja, hogy előnyben részesítik-e a tulajdonságok kifejezéstörzseit vagy blokktesteit, és hogy előnyben részesítik-e a kifejezéstörzseket, hogy csak az egysoros kifejezésekre legyenek-e előnyben részesítve.

A beállítások konfigurálásáról további információt az Option formátum című témakörben talál.

csharp_style_expression_bodied_properties

Tulajdonság Érték Description
Beállítás neve csharp_style_expression_bodied_properties
Beállításértékek true Kifejezéstörzsek előnyben részesítve a tulajdonságokat
when_on_single_line A tulajdonságok kifejezéstörzseinek előnyben részesítenek, ha egyetlen sorból állnak
false Blokktestek előnyben részesítve a tulajdonságokat
Alapértelmezett beállításérték true
// csharp_style_expression_bodied_properties = true
public int Age => _age;

// csharp_style_expression_bodied_properties = false
public int Age { get { return _age; }}

Ez a szabály és IDE0027

Ez a szabály és IDE0025a IDE0027 (Kifejezéstörzs használata a tartozékokhoz) nagyon hasonlóak. IDE0025 az ingatlan egészére vonatkozik, míg IDE0027 kifejezetten az ingatlan kiegészítő részeire vonatkozik.

Olyan írásvédett tulajdonság esetén, amely egyszerűen ad vissza egy értéket számítás nélkül, ha IDE0025 az érték a következőre van állítva csharp_style_expression_bodied_accessors = truecsharp_style_expression_bodied_properties = falseIDE0027, akkor a következőhöz hasonló tulajdonsággal fog végződni:

public int TemperatureF
{
    get => _temp;
}

De ha be van állítvaIDE0025, a tulajdonság még tovább lesz egyszerűsítve (még akkor is, ha a következőre csharp_style_expression_bodied_accessors = falsevan állítvaIDE0027):csharp_style_expression_bodied_properties = true

public int TemperatureF => _temp;

Az olvasási-írási tulajdonság esetében a különbség egy kicsit nyilvánvalóbbá válik, mivel a tulajdonság nem írható kifejezés-testes módon (mivel több sorból áll). Tehát még akkor is, ha IDE0025 be van állítva csharp_style_expression_bodied_properties = true, akkor is kapcsos kapcsos zárójelekkel, vagyis blokktesttel végződik.

Az alábbi példák bemutatják, hogyan néz ki egy tulajdonság a két lehetőség különböző kombinációival.

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

Figyelmeztetés mellőzése

Ha csak egyetlen szabálysértést szeretne letiltani, adjon hozzá előfeldolgozási irányelveket a forrásfájlhoz a szabály letiltásához és újbóli engedélyezéséhez.

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

Ha le szeretné tiltani egy fájl, mappa vagy projekt szabályát, állítsa annak súlyosságát none a konfigurációs fájlban.

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

Az összes kódstílus-szabály letiltásához állítsa be a kategória Style súlyosságát none a konfigurációs fájlban.

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

További információ: Kódelemzési figyelmeztetések letiltása.

Kapcsolódó információk