假设我有一个运行时对象的泛型类型和同一类的原始泛型类型,例如
var type = (new List<Int32>()).GetType();
var genericListType = typeof(List<>);
我需要一种GetRawGenericType
方法,所以表达
GetRawGenericType(type) == genericListType
返回真。有没有办法实现这个?
评论:
我不知道对象的类型,它可能是任何泛型类型。在我正在编写的代码中,我必须知道确切的泛型类型,因为它将用作字典中的键,例如:
private readonly Dictionary<Type, TValue> Mapping =
new Dictionary<Type, TValue> {
{typeof(IEnumerable<>), *SomeValue*},
...
}
提前感谢您花时间。