Code inspection: Mismatch of optional parameter value in overridden method
This inspection reports a method override or implementation whose optional parameter does not match the base member. That can mean the derived member is missing an optional default value, or it uses a different default value than the corresponding parameter in the base declaration.
Example
class Base
{
public virtual void Log(string message, int level = 1)
{
}
}
class Derived : Base
{
public override void Log(string message, int level = 2)
{
}
}
class Base
{
public virtual void Log(string message, int level = 1)
{
}
}
class Derived : Base
{
public override void Log(string message, int level = 1)
{
}
}
Quick-fix
The quick-fix copies the default value from the base member, or removes the default value if the base member does not define one.
01 April 2026