Ö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, IDE0025
ve 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 IDE0025
csharp_style_expression_bodied_accessors = true
, şuna benzer bir özellikle karşılaşırsınız:
public int TemperatureF
{
get => _temp;
}
Ancak olarak ayarlarsanız IDE0025
csharp_style_expression_bodied_properties = true
özelliği daha da basitleştirilmiştir (olarak ayarlamış IDE0027
csharp_style_expression_bodied_accessors = false
olsanı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 IDE0025
csharp_style_expression_bodied_properties = true
bile 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 none
olarak ayarlayın.
[*.{cs,vb}]
dotnet_diagnostic.IDE0025.severity = none
Kod stili kuralların tümünü devre dışı bırakmak için, kategorinin Style
none
ö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.