Udostępnij za pośrednictwem


Usuwanie niepotrzebnego wyrażenia lambda (IDE0200)

Własność Wartość
identyfikator reguły IDE0200
Tytuł Usuwanie niepotrzebnego wyrażenia lambda
Kategoria Styl
podkategorii Reguły języka (preferencje bloku kodu)
Języki mające zastosowanie C# 11+
Opcje csharp_style_prefer_method_group_conversion

Przegląd

Ta reguła sygnalizuje użycie wyrażenia lambda, gdy jest to niepotrzebne. Wyrażenia lambda mogą być niepotrzebne, gdy wszystkie następujące wyrażenia są prawdziwe:

  • Wyrażenie zawiera wywołanie metody.
  • Wyrażenie lambda ma taką samą liczbę i kolejność parametrów jak wywołanie metody.
  • Wywołanie metody nie ma skutków ubocznych.
  • Wyrażenie lambda nie jest przypisane do typu niedelegowanego.
  • Jeśli wywołanie jest metodą ogólną, podano argumenty typu.
  • Zwracany typ metody wywoływanej można przekonwertować na zwracany typ wyrażenia lambda.
  • W grupie metod istnieje tylko jedna odpowiednia metoda.

Opcje

Opcje określają zachowanie, które ma być wymuszane przez regułę. Aby uzyskać informacje na temat konfigurowania opcji, zobacz Format opcji.

preferowanie stylu grupy metod w języku C#

Własność Wartość Opis
nazwa opcji csharp_style_prefer_method_group_conversion
wartości opcji true Preferuj konwertowanie wyrażenia lambda na grupę metod.
false Wyłącza regułę.
domyślna wartość opcji true

Przykład

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

Pomijanie ostrzeżenia

Jeśli chcesz pominąć tylko jedno naruszenie, dodaj dyrektywy preprocesora do pliku źródłowego, aby wyłączyć, a następnie ponownie włączyć regułę.

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

Aby wyłączyć regułę dla pliku, folderu lub projektu, ustaw jego ważność na none w pliku konfiguracji .

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

Aby wyłączyć wszystkie reguły stylu kodu, ustaw ważność kategorii Style na none w pliku konfiguracji .

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

Aby uzyskać więcej informacji, zobacz Jak pominąć ostrzeżenia analizy kodu.

Zobacz też