我有一个抽象类方法:
Public Class Base_BLL
{
Public Overridable Function Persist(ByRef x As Base_BO) As Base_BO
{
}
}
Public CLass ActualBLL Inherits Base_BLL
{
}
public Class Main_BO Inherits Base_BO
{
}
我正在重用旧的vb代码,并且有一个C#presenter类,它试图使用ActualBLL方法来持久化Main_BO类。但我无法编译:
ActualBLL bll = new ActualBLL()
Main_BO bo = new Main_BO()
bo.ID="3"
bo = bll.Persist(ref bo)
编译器不喜欢它。但是,在VB中,以下行编译得很好:
bo = bll.Persist(bo);
我在这里有点不知所措......
答案 0 :(得分:4)
C#编译器更严格,它不会为您插入这些强制转换。
Main_BO bo = new Main_BO() ;
// ...
Base_BO br = bo ;
bo = (Main_BO) bll.Persist (ref br) ;