0

假设我有一个对象的引用。我想使用自省来确定它是否是对集合的引用,但我不知道(也不关心)它所拥有的元素的泛型类型。

举个例子:

List<int> l;
Object referenceToList = l;

if (typeof(referenceToList) == ??)
{
  //condition is true for List<int>, List<float> ....
}

有什么建议吗?

4

1 回答 1

2
var type = referenceToList.GetType();
if(type.IsGenericType && type.GetGenericTypeDefinition() == typeof(List<>))
{
    // It's some List<T>
}
于 2013-05-03T15:02:21.270 回答