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ć?