Привести объект в объект из производного класса

У меня есть классRecord это прекрасно работает:

public class Record 
{
    protected string table;
    protected string idcolumn;
    public Record(string _table, string _idcol, int _id) 
    {
        table = _table;
        idcolumn = _idcol;
        Id = _id;
    }
}

У меня тоже есть классOrder что происходит отRecord, который реализует дополнительные методы, применимые только к записи определенного типа:

class Order : Record 
{
    public void Start() 
    {
    }
}

В моем приложении у меня есть объектtheRecord типаRecord что я хочу бросить наOrderтак что я могу назватьStart метод на это.

Я попытался разыграть это:

Order r = (Order)theRecord;

но это бросаетInvalidCastException.

Я думаю, что я мог бы создать новый конструктор дляOrder это занимаетRecord, но у меня уже есть объект (который создается путем извлечения записи из базы данных).

Как я могу реализовать это правильно?

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

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