Преобразовать базовый класс в производный класс [duplicate]

This question already has an answer here:

Is it possible to assign a base class object to a derived class reference with an explicit typecast? 20 answers

Возможно ли в 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;
}

Ответы на вопрос(6)

Ваш ответ на вопрос