在 C# 中实现抽象 byref 方法



我有一个抽象的类方法:

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# 表示器类,该类尝试使用 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);

我在这里有点不知所措...

C# 编译器更严格,它不会为您插入这些强制转换。

Main_BO bo = new Main_BO() ;
// ...
Base_BO br = bo ;
bo = (Main_BO) bll.Persist (ref br) ;

相关内容

  • 没有找到相关文章

最新更新