我正在使用一个 SDK 方法,该方法返回该 SDK 的 native 模型。
在我的代码中,我想向我的基类添加一些额外的属性。
示例:
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# 来实现这一点?
最佳答案
考虑将基础对象传递给子对象并复制所需的属性
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
属性进行填充。
关于c# - 使用父属性实例化继承对象类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49809000/