VB.NETのイベントをシャドウ/オーバーライドしたい。
これを行うのは、このオブジェクトに、ベースオブジェクト自体と同じイベントを含むインターフェイスを実装する必要があるためです。また、このベースイベントを、変更や補足イベントの追加なしでそのまま維持する必要があります。
どうすればいいですか?
Public Shadows Event VisibleChanged As EventHandler Implements IVisibleChanged
したがって、VisibleChangedイベントを含むインターフェイスを実装したいと思いますが、myBaseVisibleChangedイベントも機能し続けます。
Public Shadows Event VisibleChanged As EventHandler Implements IVisibleChanged
AddHandler(ByVal value As EventHandler)
AddHandler MyBase.VisibleChanged, value
End AddHandler
RemoveHandler(ByVal value As EventHandler)
RemoveHandler MyBase.VisibleChanged, value
End RemoveHandler
End Event
このようなものですが、VisualStudioはそのような構文を認識していないようです...
つまり、C#では次のように認識しています。
public new event EventHandler VisibleChanged
{
add { base.VisibleChanged += value; }
remove { base.VisibleChanged -= value; }
}