Прочитать на английском

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


Используйте локальную функцию вместо лямбда-функции (IDE0039)

Свойство Ценность
Идентификатор правила IDE0039
Заголовок Использование локальной функции вместо лямбда-функции
категория Стиль
Подкатегория Языковые правила (предпочтения уровня выражений)
применимые языки C#
Опции csharp_style_prefer_local_over_anonymous_function

Обзор

Это правило стиля касается использования локальных функций и лямбда-выражений (анонимные функции).

Параметры

Параметры указывают поведение, которое вы хотите, чтобы правило соблюдало. Сведения о настройке параметров см. в разделе «Формат параметра».

стиль_в_CSharp_предпочитать_локальные_переменные_над_анонимными_функциями

Свойство Ценность Описание
имя параметра csharp_style_prefer_local_over_anonymous_function
значения опций true Предпочитать локальные функции анонимным функциям
false Предпочитать анонимные функции локальным функциям
значение параметра по умолчанию true
C#
// 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);
};

Подавление предупреждения

Если вы хотите отключить только одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить правило.

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

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

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

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

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

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

См. также