Özellikler için ifade gövdesini kullanma (IDE0025)

Özellik Değer
Kural Kimliği IDE0025
Başlık Özellikler için ifade gövdesini kullanma
Kategori Stil
Alt kategori Dil kuralları (ifade gövdeli üyeler)
Geçerli diller C#
Seçenekler csharp_style_expression_bodied_properties

Genel Bakış

Bu stil kuralı, ifade gövdelerinin kullanımıyla ve özellikler için blok gövdeleriyle ilgilidir.

Seçenekler

Özellikler için ifade gövdelerinin veya blok gövdelerinin tercih edilip edilmediğini ve ifade gövdelerinin tercih edilip edilmediğini, bunların yalnızca tek satırlı ifadeler için tercih edilip edilmediğini belirtmek için bu kural için ilişkili seçeneğin değerini ayarlayın.

Seçenekleri yapılandırma hakkında daha fazla bilgi için bkz . Seçenek biçimi.

csharp_style_expression_bodied_properties

Özellik Değer Tanım
Seçenek adı csharp_style_expression_bodied_properties
Seçenek değerleri true Özellikler için ifade gövdelerini tercih et
when_on_single_line Tek bir satır olacak özellikler için ifade gövdelerini tercih edin
false Özellikler için blok gövdelerini tercih edin
Varsayılan seçenek değeri true
// csharp_style_expression_bodied_properties = true
public int Age => _age;

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

Bu kuralla IDE0027 karşılaştırması

Bu kural, IDE0025ve IDE0027 (Erişimciler için ifade gövdesini kullan) çok benzerdir. IDE0025 özelliği bir bütün olarak ilgilendirirken IDE0027 , özellikle özelliğin erişimci parçalarıyla ilgilidir.

yalnızca herhangi bir hesaplama yapmadan bir değer döndüren salt okunur bir özellik için olarak ayarlanmışsa csharp_style_expression_bodied_properties = false ancak IDE0027 olarak ayarlanmışsa IDE0025csharp_style_expression_bodied_accessors = true, şuna benzer bir özellikle karşılaşırsınız:

public int TemperatureF
{
    get => _temp;
}

Ancak olarak ayarlarsanız IDE0025csharp_style_expression_bodied_properties = trueözelliği daha da basitleştirilmiştir (olarak ayarlamış IDE0027csharp_style_expression_bodied_accessors = falseolsanız bile):

public int TemperatureF => _temp;

Okuma-yazma özelliğinde, özellik ifade gövdeli bir şekilde yazılamadığından (birden fazla satırdan oluştuğundan) fark biraz daha belirgin hale gelir. Bu nedenle, olarak ayarlansa IDE0025csharp_style_expression_bodied_properties = truebile küme ayraçları, yani bir blok gövdesiyle sonuçlanırsınız.

Aşağıdaki örneklerde bir özelliğin iki seçeneğin çeşitli bileşimleriyle nasıl göründüğü gösterilmektedir.

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

Uyarıyı gizleme

Yalnızca tek bir ihlali engellemek istiyorsanız, kuralı devre dışı bırakmak ve sonra yeniden etkinleştirmek için kaynak dosyanıza ön işlemci yönergeleri ekleyin.

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

Bir dosya, klasör veya projenin kuralını devre dışı bırakmak için, yapılandırma dosyasındaki önem derecesini noneolarak ayarlayın.

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

Kod stili kuralların tümünü devre dışı bırakmak için, kategorinin Stylenoneönem derecesini yapılandırma dosyasında olarak ayarlayın.

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

Daha fazla bilgi için bkz . Kod analizi uyarılarını gizleme.

Ayrıca bkz.