Rzuć obiekt do obiektu z klasy pochodnej

mam klasęRecord to działa dobrze:

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

Mam też klasęOrder to pochodzi odRecord, która implementuje dodatkowe metody, mające zastosowanie tylko do określonego typu rekordu:

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

W mojej aplikacji mam obiekttheRecord typuRecord które chcę rzucićOrder, abym mógł zadzwonić doStart metoda na to.

Próbowałem to rzucić:

Order r = (Order)theRecord;

ale to rzucaInvalidCastException.

Myślę, że mógłbym stworzyć nowego konstruktoraOrder to trwaRecord, ale już mam obiekt (który jest zbudowany przez pobranie rekordu z bazy danych).

Jak mogę to poprawnie wdrożyć?

questionAnswers(4)

yourAnswerToTheQuestion