最佳答案
有没有可能在 C # 中显式地将一个基类对象转换为它的一个派生类?当前的想法是,我必须为我的派生类创建一个构造函数,该构造函数接受基类对象作为参数,并复制属性值。我真的不喜欢这个主意,所以如果可能的话我想避免它。
这看起来似乎不应该工作(对象被实例化为新的基类,所以内存不应该被分配给派生类的额外成员) ,但 C # 似乎允许我这样做:
class BaseClass
{
... some stuff ...
}
class DerivedClass : BaseClass
{
public bool MyDerivedProperty{ get; set; }
}
static void Main(string[] args)
{
BaseClass myBaseObject = new BaseClass();
DerivedClass myDerivedObject = myBaseObject as DerivedClass;
myDerivedObject.MyDerivedProperty = true;
}