繁体   English   中英

在子类方法中实例化父类

[英]Instantiate the parent class in a child class method

public class Parent {}

public class Child: Parent {
    public Child() {
        Parent instance_of_Parent = INSERTCODEHERE;
    }
}

如何在子类的方法中创建父类的所需实例(不一定是在构造函数中,尽管这是我为简洁起见而选择的方法),而未通过名称引用“父对象”,而是以某种方式将其标识为当前班级的家长?

如果您不关心性能,那么它将起作用:

public class Child: Parent {
    public Child()
    {
        var baseClass = GetType().BaseType;
        dynamic instance_of_Parent = Activator.CreateInstance(baseClass);
    }
}
GetType().BaseType.GetConstructor(new Type[]{}).Invoke(null);

感谢Rimworld Discord上的DnaJur提供的答案,该答案允许您为要用于实例化的父类选择特定的构造函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM