假设我有一个对象的引用。我想使用自省来找出它是否是对集合的引用,但我不知道(也不在乎)它所持有的元素的泛型类型。
例如:
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>
}