コードインスペクション:暗黙的なデフォルトパラメーターを持つ基本メンバーの呼び出し
このインスペクションは、オプション引数が省略された基底メソッドの呼び出しを報告します。 オーバーライドでは、デフォルトの引数値が呼び出し箇所でバインドされ、基底メンバーと派生メンバーで異なる場合があるため、これは誤解を招きやすい問題です。
サンプル
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 年 6 月 12 日