这是我的情景:
Public Interface IFlow
End Interface
Public Class Base
Protected _var1 as String
Protected _var2 as String
Public Property Item(str As String) As String...
Public Function Func() As String...
End Class
Public Class MyFlow
Inherits Base
Implements IFlow
...
End Class
Public Class ServiceCaller
Private _flow As IFlow
Public Sub New(ByVal flow As IFlow)
_flow = flow
End Sub
Public Function Test() As String
_flow.Func() <--- Can't call this
End Function
End Class
我以前碰到过这个,但我想知道是否有一个很好的解释。我假设这是因为界面在代码合同中没有这些方法。我明白了。实现这种类型功能的最佳方法是什么,我在基类中有一堆常用方法,但希望子类继承并将依赖注入服务类?
最好的方法是简单地将这些方法放入接口并在子类中的那些实现方法中调用基本方法吗?
答案 0 :(得分:0)
我没有将方法添加到多个接口,而是提出以下方法:
Inherits
关键字从基接口派生需要常用方法的接口。这样,您不需要将方法添加到多个接口,并再次将调用传递给每个类中的基类实现。