ReSharper 2024.1 ヘルプ

コード検査: デフォルト値による冗長引数

このインスペクションは、オプションの引数を持つメソッドを呼び出すコード内の場所を識別し、それらの引数のデフォルト値と同じ値を使用します。

次に例を示します。

void Foo(int required, [Optional] bool optionalBool, int optionalInt = 10) { // do something } void Test() { Foo(10, false, 10); //Warning: Redundant argument with default value }

上記の呼び出しでは、optionalBooloptionalInt の両方のオプション引数にデフォルト値と同じ値を使用していますが、どちらかというとあいまいな点があります。この呼び出しでは、Foo() の宣言で指定されたデフォルト値を使用することになっているためしょうか。逆に、デフォルト値とは別に、呼び出し側で指定された値を使用することになっているためしょうか。

前者の場合は、デフォルト値を持つオプションの引数は宣言の後半で変更される可能性があるため、削除することができ、削除する必要があります。そうでなければ、コメントでこのインスペクションを抑制することができます。

// ReSharper disable RedundantArgumentDefaultValue