Gereksiz lambda ifadesini kaldırma (IDE0200)
Özellik | Değer |
---|---|
Kural Kimliği | IDE0200 |
Başlık | Gereksiz lambda ifadesini kaldırma |
Kategori | Stil |
Alt Kategori | Dil kuralları (kod bloğu tercihleri) |
Geçerli diller | C# 11+ |
Seçenekler | csharp_style_prefer_method_group_conversion |
Genel Bakış
Bu kural, gereksiz olduğu durumlarda lambda ifadesinin kullanımını işaretler. Aşağıdakilerin tümü doğru olduğunda Lambda ifadeleri gereksiz olabilir:
- İfade bir yöntem çağrısı içerir.
- Lambda ifadesi, yöntem çağrısıyla aynı sayıda ve parametre sırasına sahiptir.
- Yöntem çağrısının hiçbir yan etkisi yoktur.
- Lambda ifadesi temsilci olmayan bir türe atanmadı.
- Çağırma genel bir yöntemse, tür bağımsız değişkenleri sağlanır.
- Çağrılan yöntemin dönüş türü lambda ifadesinin dönüş türüne dönüştürülebilir.
- Yöntem grubunda yalnızca bir uygulanabilir yöntem vardır.
Seçenekler
Seçenekler, kuralın zorlamasını istediğiniz davranışı belirtir. Seçenekleri yapılandırma hakkında bilgi için bkz. Seçenek biçimi.
csharp_style_prefer_method_group_conversion
Özellik | Değer | Açıklama |
---|---|---|
Seçenek adı | csharp_style_prefer_method_group_conversion | |
Seçenek değerleri | true |
Lambda ifadesini yöntem grubuna dönüştürmeyi tercih edin. |
false |
Kuralı devre dışı bırakır. | |
Varsayılan seçenek değeri | true |
Örnek
// Code with violations.
bool IsEven(int x) => x % 2 == 0;
_ = new[] { 1, 2, 3 }.Where(n => IsEven(n));
// Fixed code.
bool IsEven(int x) => x % 2 == 0;
_ = new[] { 1, 2, 3 }.Where(IsEven);
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 önişlemci yönergeleri ekleyin.
#pragma warning disable IDE0200
// The code that's violating the rule is on this line.
#pragma warning restore IDE0200
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.IDE0200.severity = none
Tüm kod stili kurallarını devre dışı bırakmak için, kategorinin önem derecesini Style
none
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.