基本クラス:
Public MustInherit Class Connector
Public Event Changed as EventHandler
End Class
インターフェース:
Public Interface IPlug
Event Changed as EventHandler
End Interface
派生クラス:
Public Class OutputConnector
Inherits Connector
Implements IPlug
Event Changed as EventHandler Implements IPlug.Changed
End Class
VB.Net の問題:
もちろん、のイベントはのChanged
イベントとOutputConnector
衝突します。しかし、インターフェイスを満たすために実装する必要があります。Changed
Connector
IPlug
どうすればこれを解決できますか?
イベントを持つ必要があるが、実装しない必要がConnector
ある (クラスなど)から派生した他のクラスがあります。また、名前の競合を回避するためだけに、実装している派生クラスに追加のイベントを持たせたくありません(これは、基本クラスまたはインターフェイスのいずれかでイベントの名前を変更した場合に当てはまります)。InputConnector
Changed
IPlug
IPlug
助言がありますか?
編集:
問題は名前自体ではありませんが、派生クラスがそのインターフェイスイベントの実装を基本クラスの既存のイベントに何らかの方法でマップするようにしたいということです-派生クラスで追加のイベントを宣言する必要はありません(あらゆる種類のルーティングを使用)乱雑に起動する); 結局のところ、イベントは既に基本クラスに存在します! 私が必要としているのは、インターフェースにそれを知らせる方法です..
疑似的な解決策(説明のため)は、何かを効果的にすることができるようにすることです
Public Event MyBase.Changed Implements IPlug.Changed
派生OutputConnector
クラスで。