我有一堂课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
但是我已经有了这个对象(它是通过从数据库中获取一条记录来构建的)。
我怎样才能正确实施呢?