ランタイムオブジェクトのジェネリック型と同じクラスの生のジェネリック型があるとします。
var type = (new List<Int32>()).GetType();
var genericListType = typeof(List<>);
ある種のGetRawGenericType
メソッドが必要なので、式
GetRawGenericType(type) == genericListType
true を返します。これを実装する方法はありますか?
備考:
オブジェクトの型がわかりません。ジェネリック型である可能性があります。私が書いているコードでは、辞書のキーとして使用されるため、正確なジェネリック型を知る必要があります。たとえば、次のようになります。
private readonly Dictionary<Type, TValue> Mapping =
new Dictionary<Type, TValue> {
{typeof(IEnumerable<>), *SomeValue*},
...
}
お時間を割いていただきありがとうございます。