访客模式与VB.Net

时间:2014-04-03 21:09:20

标签: vb.net visitor-pattern

假设我有一个这样的访问者界面:

''' <remarks>Visitor Pattern</remarks>
Public Interface IVisitor
    Sub Visit(value As Type1)
    Sub Visit(value As Type2)
    Sub Visit(value As Type3)
    Sub Visit(value As Type4)
    Sub Visit(value As ...)
    ...
End Interface

我的具体访问者有没有办法避免实现他们不需要的访问功能?我想在我的具体访问者中避免做这样的事情:

#Region "Methods not implemented (not needed)"

    Public Sub Visit(value As Type4) Implements IVisitor.Visit

    End Sub

    ...

我知道我无法在Overridable中使用Interface关键字。那么也许我应该在我的基类中删除Interface Overridable Sub

1 个答案:

答案 0 :(得分:2)

您可以使用定义所有方法的默认实现的基类(可以由MustInherit标记,但不是必须标记)。每个具体的访问者都将继承基类并仅覆盖它所需的方法。