代码检查:调用基类成员时使用了隐式默认参数
此检查会报告调用基类方法时省略可选参数的情况。 在重写时,这很容易被误解,因为默认参数值在调用处绑定,且基类与派生类成员之间可能不同。
示例
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日