テスト目的で、現在基本クラスに実装されている特定のメソッド呼び出しをオーバーライドする必要があります。
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 のすべてのサブクラスのメソッドをオーバーライドする一般的な方法を実装します。
これをどのように解決できるかについて、誰かが私に指示できますか?