JetBrains Rider 2026.1 Help

コードインスペクション:キャスト式はより簡単な型引数に置換できます。

このインスペクションは、ラムダ式内でキャストするのではなく、型引数を直接指定することで、型変換をより安全かつ明確にすることを提案しています。

以下の例では、ラムダ式内で obj をキャストすることにはいくつかの問題があります。それは型変換の問題を隠してしまう可能性があり、コードの可読性や理解を難しくします。また、 DoWork<T>() 内の型引数 T はコンパイラーによって推論できるため、キャストは不要です。

これらの問題を回避するには、キャストを削除し、メソッド呼び出し時に型引数を直接指定します。

public interface IBase; public class Derived : IBase; public class Sample { void Test(IEnumerable<Derived> obj) { DoWork(() => (IEnumerable<IBase>) obj); } void DoWork<T>(Func<IEnumerable<T>> action) { /*...*/ } }
public interface IBase; public class Derived : IBase; public class Sample { void Test(IEnumerable<Derived> obj) { DoWork<IBase>(() => obj); } void DoWork<T>(Func<IEnumerable<T>> action) { /*...*/ } }
2026 年 6 月 12 日