Aracılığıyla paylaş


Gereksiz lambda ifadesini kaldırma (IDE0200)

Mülk Değer
Kural Kimliği IDE0200
Başlık Gereksiz lambda ifadesini kaldırma
Kategori Üslup
alt kategori Dil kuralları (kod bloğu tercihleri)
Geçerli diller C# 11+
Seçenekleri 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 yan etkisi yoktur.
  • Lambda ifadesi, temsilci olmayan bir türe atanmış değil.
  • Ç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 (C# stil yöntemi grup dönüşümünü tercih etme)

Mülk 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 ön iş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 önem derecesini yapılandırma dosyasında none olarak ayarlayın.

[*.{cs,vb}]
dotnet_diagnostic.IDE0200.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.

Ayrıca bkz.