我想创建一个类型的对象,该对象派生自泛型方法中的另一种类型。
我尝试了什么:
B20
T类型的对象可以是AbstractBaseClass或AbstractClassDerievedFromBaseClass的派生对象。
问题是:如何实例化DerivedType的对象。
我已经尝试检查类型是否正确:
public static T Param<T>(this SomeClass foo)
where T : AbstractBaseClass, new()
{
AbstractClassDerivedFromBaseClass bar =(AbstractClassDerivedFromBaseClass) new T();
return (T) bar;
}
但我也得到了编译错误:
无法将类型'T'转换为AbstractClassDerivedFromBaseClass
任何帮助都将不胜感激。