public class Parent {}
public class Child: Parent {
public Child() {
Parent instance_of_Parent = INSERTCODEHERE;
}
}
如何在子类的方法中创建父类的所需实例(不一定是在构造函数中,尽管这是我为简洁起见而选择的方法),而不是通过名称引用“ Parent”,而是以某种方式标识它是当前类的父级?
答案 0 :(得分:2)
如果您不关心性能,那么它将起作用:
public class Child: Parent {
public Child()
{
var baseClass = GetType().BaseType;
dynamic instance_of_Parent = Activator.CreateInstance(baseClass);
}
}
答案 1 :(得分:0)
GetType().BaseType.GetConstructor(new Type[]{}).Invoke(null);
感谢Rimworld Discord上的DnaJur,该答案允许您为要用于实例化的父类选择特定的构造函数。