C
Charles Law
Is there a way to dynamically remove an event handler from an event without
knowing the name of the handler?
For example, how can ClassB remove the handler without knowing the name, or
how many handlers there are?
<code>
Public Class ClassA
Private m_ClassB As New ClassB
Public Sub Add()
m_ClassB.AddHandler(MyHandler)
' ...
m_ClassB.RemoveHandlers()
End Sub
Public Sub MyHandler()
' Handle event
End Sub
End Class
Public Class ClassB
Public Event DoStuff()
Public Sub AddHandler(handler As EventHandler)
AddHandler DoStuff, AddressOf handler
End Sub
Public Sub RemoveHandlers()
' *** Remove unknown handler(s) ***
RemoveHandler DoStuff, ???
End Sub
End Class
</code>
Presumably, the list of currently connected event handlers is held
somewhere. Can it be accessed in some way to remove an indeterminate number
of handlers?
TIA
Charles
knowing the name of the handler?
For example, how can ClassB remove the handler without knowing the name, or
how many handlers there are?
<code>
Public Class ClassA
Private m_ClassB As New ClassB
Public Sub Add()
m_ClassB.AddHandler(MyHandler)
' ...
m_ClassB.RemoveHandlers()
End Sub
Public Sub MyHandler()
' Handle event
End Sub
End Class
Public Class ClassB
Public Event DoStuff()
Public Sub AddHandler(handler As EventHandler)
AddHandler DoStuff, AddressOf handler
End Sub
Public Sub RemoveHandlers()
' *** Remove unknown handler(s) ***
RemoveHandler DoStuff, ???
End Sub
End Class
</code>
Presumably, the list of currently connected event handlers is held
somewhere. Can it be accessed in some way to remove an indeterminate number
of handlers?
TIA
Charles