Используйте локальную функцию вместо лямбда-выражения (IDE0039)
Свойство | Значение |
---|---|
Идентификатор правила | IDE0039 |
Title | Используйте локальную функцию вместо лямбда-выражения |
Категория | Стиль |
Подкатегория | Правила языка (настройки уровня выражения) |
Применимые языки | C# |
Параметры | csharp_style_prefer_local_over_anonymous_function |
Общие сведения
Это правило стиля касается использования локальных функций и лямбда-выражений (анонимные функции).
Варианты
Параметры определяют поведение, которое требуется применить правилом. Сведения о настройке параметров см. в разделе Формат параметра.
csharp_style_prefer_local_over_anonymous_function
Свойство | Значение | Описание |
---|---|---|
Имя параметра | csharp_style_prefer_local_over_anonymous_function | |
Значения параметра | true |
Предпочитать локальные функции анонимным функциям |
false |
Предпочитать анонимные функции локальным функциям | |
Значение параметра по умолчанию | true |
// csharp_style_prefer_local_over_anonymous_function = true
int fibonacci(int n)
{
return n <= 1 ? 1 : fibonacci(n-1) + fibonacci(n-2);
}
// csharp_style_prefer_local_over_anonymous_function = false
Func<int, int> fibonacci = (int n) =>
{
return n <= 1 ? 1 : fibonacci(n - 1) + fibonacci(n - 2);
};
Отключение предупреждений
Если вы хотите подавить только одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и снова включить правило.
#pragma warning disable IDE0039
// The code that's violating the rule is on this line.
#pragma warning restore IDE0039
Чтобы отключить правило для файла, папки или проекта, задайте для его серьезности none
значение в файле конфигурации.
[*.{cs,vb}]
dotnet_diagnostic.IDE0039.severity = none
Чтобы отключить все правила в стиле кода, задайте серьезность для категории Style
none
в файле конфигурации.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.