public class SuperCar: Car
{
     public bool SuperWheels { get {return true; } }
}

public class Car
{
     public bool HasSteeringWheel { get {return true;} }
}

如何设置派生的Supercar的基类?

例如,我想像这样简单地设置SuperCars基类:
public void SetCar( Car car )
{
SuperCar scar = new SuperCar();
car.Base = car;
}

基本上,如果我有Car对象,我不想手动遍历汽车的每个属性来设置SuperCar对象,我认为这是唯一的方法,但是如果可以用其他方法进行操作会好得多。

最佳答案

我在子类中使用了类似的方法,对我来说很好用:

using System.Reflection;
.
.
.
/// <summary> copy base class instance's property values to this object. </summary>
private void InitInhertedProperties (object baseClassInstance)
{
    foreach (PropertyInfo propertyInfo in baseClassInstance.GetType().GetProperties())
    {
        object value = propertyInfo.GetValue(baseClassInstance, null);
        if (null != value) propertyInfo.SetValue(this, value, null);
    }
}

10-01 00:18