Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
| Mülk | Değer |
|---|---|
| Kural Kimliği | IDE0025 |
| Başlık | Özellikler için ifade gövdesini kullanma |
| Kategori | Üslup |
| Alt kategori | Dil kuralları (ifade gövdeli üyeler) |
| Geçerli diller | C# |
| Seçenekleri | csharp_style_expression_bodied_properties |
Genel bakış
Bu stil kuralı, ifade gövdelerinin ve özellikler için blok gövdelerinin kullanımıyla 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_stil_ifade_gövdelı_özellikler
| Mülk | Değer | Açıklama |
|---|---|---|
| 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 |
Özelliklerin tek satır olacağı durumlarda 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) ile çok benzer.
IDE0025 özelliği bir bütün olarak ilgilendirirken, IDE0027 özellikle özelliğin aksesuar parçalarıyla ilgilidir.
herhangi bir hesaplama yapmadan yalnızca bir değer döndüren salt okunur bir özellik için, IDE0025csharp_style_expression_bodied_properties = false olarak ayarlanırsa ancak IDE0027csharp_style_expression_bodied_accessors = trueolarak ayarlanırsa, şuna benzer bir özellikle karşılaşırsınız:
public int TemperatureF
{
get => _temp;
}
Ancak IDE0025csharp_style_expression_bodied_properties = trueolarak ayarlarsanız özelliği daha da basitleştirilir (IDE0027csharp_style_expression_bodied_accessors = falseolarak ayarlasanı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 IDE0025, csharp_style_expression_bodied_properties = trueolarak ayarlansa bile, yine de küme ayraçlarıyla, yani bir blok gövdesiyle karşılaşı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 önem derecesini yapılandırma dosyasında none olarak ayarlayın.
[*.{cs,vb}]
dotnet_diagnostic.IDE0025.severity = none
Tüm kod stili kurallarını devre dışı bırakmak için kategori Style önem derecesini yapılandırma dosyasında none olarak ayarlayın.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Daha fazla bilgi için bkz. Kod analizi uyarılarını gizleme.