コードインスペクション:CallerLineNumberAttribute は、オプションの引数を許可しないコンテキストで使用されるメンバーに適用されるため、効果がありません
このインスペクションは、呼び出し元情報が利用できない場合に [CallerLineNumber] が適用されたことを報告します。 よくあるケースとして、オプションのパラメーターを持つ定義宣言ではなく、部分メソッドの実装部分に属性を配置する場合が挙げられます。 この場合、属性は効果を発揮しません。
サンプル
using System.Runtime.CompilerServices;
partial class C
{
public partial void M(int line = 0);
}
partial class C
{
public partial void M([CallerLineNumber] int line)
{
}
}
using System.Runtime.CompilerServices;
partial class C
{
public partial void M([CallerLineNumber] int line = 0);
}
partial class C
{
public partial void M(int line)
{
}
}
クイックフィックス
別の部分宣言が存在する場合、クイックフィックスは属性を有効な宣言部分に移動させることができます。
2026 年 6 月 12 日