ReSharper 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 日