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.