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