0

我有抽象类

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 );

等等

Accuared 异常“无法创建抽象类”

可以帮我?

4

1 回答 1

0

试试这样:

object ExecuteBaseEntityDate ( T _Var )
{
    return Activator.CreateInstance(typeof(T));
}

在此示例中,我们使用的Activator.CreateInstance重载不是通用的,而是在运行时动态获取类型参数。

于 2013-03-17T14:25:42.270 回答