我有一个包含一些业务对象的通用业务对象的集合类:如何在C#中使用泛型类型参数作为常规类型?
public abstract class BusinessObjectCollection<T> : ICollection<T>
where T : BusinessObject
我想写一个返回类型T和一个返回类型的新实例化对象的方法在我的收藏类中的方法T.
在C++中,这将是您只需声明typedef value_type T;
并使用BusinessObjectCollection :: value_type的地方,但我无法在C#中找到等效项。
有什么建议吗?
编辑:一位接近平行,我想的类型定义是方法:
Type GetGenericParameter() {
return typeof(T);
}
其实这也使用反射。 C#发出对Activator.CreateInstance的调用。 – Josh 2010-02-24 22:54:47
*编译器*发出对“Activator.CreateInstance”的调用是非常正确的。我只是简单地说,OP不必直接使用反射API,并不是说反射在封面下不被使用。 – 2010-02-25 00:34:47