如何通过自省了解对象是否属于泛型集合



假设我有一个对象的引用。我想使用自省来找出它是否是对集合的引用,但我不知道(也不在乎)它所持有的元素的泛型类型。

例如:

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

任何建议吗?

var type = referenceToList.GetType();
if(type.IsGenericType && type.GetGenericTypeDefinition() == typeof(List<>))
{
    // It's some List<T>
}

相关内容

  • 没有找到相关文章

最新更新