コードインスペクション: テキスト引数のシンボルを解決できません
このコードインスペクションは、さまざまな .NET Framework の契約に基づいて文字列リテラルで使用される識別子名を検証します。例えば、 System.Diagnostics.DebuggerDisplayAttribute や System.ArgumentException およびその継承クラスのコンストラクターのパラメーターなどです。
System.ArgumentException とその継承との連携方法を見てみましょう。 System.ArgumentException およびその派生物(たとえば、 System.ArgumentNullException、 System.ArgumentOutOfRangeException など)のコンストラクターの paramName パラメーターは、問題の原因をすばやく見つけるのに役立つスタックトレースに表示されるため、例外の原因となったパラメーターの名前を予期します。 したがって、JetBrains Rider は、引数のリテラルが例外がスローされるメソッドのどのパラメーターにも対応しない場合、警告を発します。 さらに、JetBrains Rider は、以下の例に示すように、さまざまなシグネチャーにおける paramName パラメーターの位置を認識しています。
public void Foo(object value)
{
if(value == null)
// Warning for unresolved symbol, where paramName is the first argument
throw new ArgumentNullException("bad value", "value is null");
if(!(value is string))
// Warning for unresolved symbol, where paramName is the second argument
throw new ArgumentException("bad value", "value is not string");
// do something
}
2026 年 6 月 12 日