使用父属性实例化继承对象类

时间:2018-04-13 03:46:01

标签: c#

我正在使用SDK方法返回该SDK的原生模型。

在我的代码中,我想为我的基类添加一些额外的属性。

示例:

public class BaseClass {
    public string Prop1 {get; set;}
} 

public class ChildClass : BaseClass {
   public string Prop2 { get; set; }
}


BaseeClass baseClassObject = SDK.Method1();

ChildClass child = new ChildClass(); <- Populate this with baseClassOjbect properties. 

继承是最好的吗/最有效率?如果是这样,我如何使用基类的属性实例化子对象?

我可以使用BaseClass的属性创建一个没有继承的新类,然后创建一些额外的属性(不使用继承)但我只是想知道是否有更好的“C#”用于实现这一目标?

1 个答案:

答案 0 :(得分:4)

考虑将基础对象传递给子项并复制所需的属性

public class BaseClass {
    public string Prop1 {get; set;}
} 

public class ChildClass : BaseClass {

    public ChildClass() : base() {}

    public ChildClass(BaseClass baseClassObject) : base() {
        this.Prop1 = baseClassObject.Prop1;
    }

    public string Prop2 { get; set; }
}

所以现在可以像这样初始化子类

BaseeClass baseClassObject = SDK.Method1();

ChildClass child = new ChildClass(baseClassObject) {
                        Prop2 = "Some value"
                   };

并填充baseClassOjbect个属性。