【发布时间】:2013-08-08 13:36:41
【问题描述】:
我想根据属于简单类型层次结构的另一个实例的类型实例化一个类的实例。
public abstract class Base
{
}
public class Derived1 : Base
{
}
public class Derived2 : Base
{
}
用下面的代码很容易做到
Base d1 = new Derived1();
Base d2;
if (d1 is Derived1)
{
d2 = new Derived1();
}
else if (d1 is Derived2)
{
d2 = new Derived2();
}
但是,是否有可能在没有if...else if... 链的情况下通过(例如)使用反射来获取d1 的构造函数(在我的示例中)并使用它来实例化任何类型的另一个实例@可能是987654325@?
【问题讨论】:
标签: c# base-class