子类在构造函数中使用基础对象

时间:2018-12-17 13:50:33

标签: c# inheritance

我有一个具有大量属性的基类,例如:

public class Base
{ 

    int prop1 { get; set; }
    int prop2 { get; set; }
    int prop3 { get; set; }
    ...
    int prop98 { get; set; }
    int prop99 { get; set; }

}

,我有一个子类,该子类在他的构造函数中接受一个Base类型的对象。我必须使用Base对象的属性来赋值子类的相同属性。

public class Subclass : Base
{ 
    public Subclass(Base baseObj)
    {
        // copy each baseObj property into this object    

    }
}

我知道要完成此操作的方式是手动复制构造函数中的每个属性,如下所示:

public Subclass(Base baseObj)
{
    // copy each baseObj property into this object
    this.Prop1 = baseObj.Prop1;
    this.Prop2 = baseObj.Prop2;
    ... and so on
}

我想知道是否有一种简短的方法可以节省很多行代码 和 使代码具有响应性:如果我通过添加或删除基类来更改属性的数量,则我不想手动编辑子类构造函数以反映基类的更改。

0 个答案:

没有答案