少なくとも C# では、プロパティのゲッターとセッターのように、イベントの「アダー」と「リムーバー」を使用できます。
誰かがイベント ハンドラーをイベントに追加するプロセス中に、それを使用してカスタム処理を行うことができるでしょうか?
編集
私はVB.NETについてあまり知りませんが、少しグーグルして、次のスニペットを見つけました:
Public Delegate Sub WorkDone(ByVal completedWork As Integer )
Private handlers As New ArrayList()
Public Custom Event WorkCompleted As WorkDone
AddHandler (ByVal value As WorkDone)
If handlers.Count <= 5 Then
handlers.Add(value)
End If
End AddHandler
RemoveHandler(ByVal value As WorkDone)
handlers.Remove(value)
End RemoveHandler
RaiseEvent (ByVal completedWork As Integer)
If completedWork > 50 Then
For Each handler As WorkDone In handlers
handler.Invoke(completedWork)
Next
End If
End RaiseEvent
End Event
これは、クラス内からイベントに追加されているデリゲートを「確認」できるように、イベント ハンドラーをカスタマイズするのに役立ちます。