出于测试目的,我需要覆盖当前在基类中实现的特定方法调用。
Public Overridable Function CreateFactory(Of TFactory As {IManagerFactory(Of IManager), Class})() As TFactory
我想避免必须为该基类的每个现有子类创建一个继承类(即从 CLBase 等继承的 CLAccountManager 的 CLTestableAccountManager)。
Public Class CLTestableAccountManager
Inherits CLAccountManager
Public Overrides Function CreateFactory(Of TFactory As {IManagerFactory(Of IManager), Class})() As TFactory
虽然这可行,但由于适用于许多类,它会导致大量重复代码。该方法只能在单元测试的上下文中使用时被覆盖,所以我不应该真正触及基类实现(它是虚拟的/可覆盖的)。
不幸的是,我不能简单地做类似的事情
Public Class CGenericBaseOverrider(Of TBase As {CLBase})
Inherits TBase
实现一个通用的方法来覆盖 CLBase 的所有子类的方法。
谁能指出我如何解决这个问题的方向?