ラムダの代わりにローカル関数を使用する (IDE0039)

プロパティ
ルール ID IDE0039
Title ラムダの代わりにローカル関数を使用する
カテゴリ スタイル
Subcategory 言語規則 (式レベル基本設定)
該当言語 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

詳細については、「コード分析の警告を抑制する方法」を参照してください。

関連項目