Поделиться через


Используйте локальную функцию вместо лямбда-выражения (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

Чтобы отключить все правила в стиле кода, задайте серьезность для категории Stylenone в файле конфигурации.

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

Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.

См. также раздел