我有抽象类
public abstract class BaseEntityDate<T> where T : class
{
void ExecFunction ( T[] I )
{
}
}
下一个抽象类使用此
public abstract class BaseBOList<T> : T where T : class
{
public void SomeFunction ( T[] VarObj )
{
BaseEntityDate<T> ObjectData = Activator.CreateInstance<BaseEntityDate<T>>();
ObjectData.ExecFunction ( VarObj );
}
}
public class MyClass
{
}
然后创建继承类
public class NyInhClass : BaseBOList<MyClass>
{
}
MyClass[] ArrayMyClass = new MyClass[]() { new MyClass() };
NyInhClass TestOb = new NyInhClass ();
TestOb.SomeFunction ( ArrayMyClass );
下一个使用示例
public class MyClass2
{
}
然后创建继承类
public class NyInhClass2 : BaseBOList<MyClass2>
{
}
MyClass2[] ArrayMyClass2 = new MyClass2[]() { new MyClass2() };
NyInhClas2s TestOb = new NyInhClass2 ();
TestOb.SomeFunction ( ArrayMyClass2 );
等等
准确例外“无法创建抽象类”
可以帮助我吗?
答案 0 :(得分:0)
试试这样:
object ExecuteBaseEntityDate ( T _Var )
{
return Activator.CreateInstance(typeof(T));
}
在这个例子中,我们使用Activator.CreateInstance
重载,它不是通用的,但在运行时动态获取type参数。