代码检查:调用基类成员时使用了隐式默认参数
此检查会报告在调用基类方法时省略了可选实参。 在重写中,这很容易被误解,因为默认实参值是在调用站点绑定的,且基类与派生类成员之间可能不同。
示例
class Base
{
public virtual void Log(int level, int category = 0)
{
}
}
class Derived : Base
{
public override void Log(int level, int category = 0)
{
base.Log(level + 1);
}
}
class Base
{
public virtual void Log(int level, int category = 0)
{
}
}
class Derived : Base
{
public override void Log(int level, int category = 0)
{
base.Log(level + 1, category);
}
}
修正方法
此检查没有专用的快速修复。 安全的修复方式是显式传递实参。
2026年 5月 8日