假设我有一个对象的引用。我想使用内省来查明它是否是对集合的引用,但我不知道(并且不关心)它所拥有的元素的泛型类型。
举个例子:
List<int> l;
Object referenceToList = l;
if (typeof(referenceToList) == ??)
{
//condition is true for List<int>, List<float> ....
}
有什么建议吗?
答案 0 :(得分:2)
var type = referenceToList.GetType();
if(type.IsGenericType && type.GetGenericTypeDefinition() == typeof(List<>))
{
// It's some List<T>
}