如何在类中获取泛型类型类的类型?
一个例子:
我构建了一个实现ICollection< T>的通用类型化集合。在我里面我有这样的方法
public void Add(T item){
...
}
public void Add(IEnumerable<T> enumItems){
...
}
我如何在给定类型T的方法中询问?
我的问题的原因是:如果object用作 T集合使用 Add(object item) 而不是 Add(IEnumerable<object> enumItems) 即使参数是 IEnumerable。因此,在第一种情况下,它将整个可枚举集合添加为一个对象,而不是可枚举集合的多个对象。
所以我需要类似的东西
if (T is object) {
// Check for IEnumerable
}
但这当然不能在 C# 中工作。建议?
非常感谢你!
迈克尔