至少在 C# 中,您可以为事件使用“adders”和“removers”,例如属性的 getter 和 setter。
也许您可以在某人向事件添加事件处理程序的过程中使用它来进行一些自定义处理?
编辑
我对 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
这应该可以帮助您自定义事件处理程序,以便您可以“看到”从您的类中添加到事件的委托。