代码检查:具有默认值的冗余参数
此检查会识别代码中调用具有 可选参数的方法,并使用与这些参数的默认值相同的值的地方。
示例如下:
void Foo(int required, [Optional] bool optionalBool, int optionalInt = 10)
{
// do something
}
void Test()
{
Foo(10, false, 10); //Warning: Redundant argument with default value
}
上述调用对两个可选参数 optionalBool 和 optionalInt 使用了与默认值相同的值,这有些模棱两可:此调用是否应该使用 声明中指定的默认值 ,还是相反,应该使用 调用方独立于默认值指定的值?
如果是前者,那么具有默认值的可选参数可以且应该被移除,因为默认值可能会在声明中发生更改。 否则,您可以通过注释 抑制此检查:
// ReSharper disable RedundantArgumentDefaultValue
最后修改日期: 2025年 9月 26日