型が特定のジェネリック型かどうかを調べる必要があります。
class MyType<T> {}
var instance = new MyType<int>();
var type = instance.GetType();
このチェックは機能しませんが、これはチェックしたいものです。型がそのジェネリック型である場合、それが何であるかに関係なくT
。
type == typeof( MyType<> )
これは機能しますが、汚いと感じます。ではないため、間違っている可能性もありますFullName
。
type.Name == typeof( MyType<> ).Name
これを行う方法があると思いますが、見つけられませんでした。IsAssignableFrom
親の 1 つではなく、現在の型が等しいかどうかを知る必要があるため、使用は機能しません。