Como remover todos os manipuladores de eventos de um evento?
Eu tenho a seguinte turma
Public Class SimpleClass
Public Event SimpleEvent()
Public Sub SimpleMethod()
RaiseEvent SimpleEvent()
End Sub
End Class
Eu instancia-lo como
Obj = New SimpleClass
AddHandler Obj.SimpleEvent, Sub()
MsgBox("Hi !")
End Sub
E eu estou tentando remover o manipulador de eventos criado dinamicamente usando o código em:Projeto de código
(Suponho que um aplicativo complexo seja difícil de usar:RemoveHandler Obj.Event, AddressOf Me.EventHandler)
No código deles, existe o seguinte método
Private Shared Sub BuildEventFields(t As Type, lst As List(Of FieldInfo))
For Each ei As EventInfo In t.GetEvents(AllBindings)
Dim dt As Type = ei.DeclaringType
Dim fi As FieldInfo = dt.GetField(ei.Name, AllBindings)
If fi IsNot Nothing Then
lst.Add(fi)
End If
Next
End Sub
Mas ao chamar esse código usando meu tipo de objeto, a próxima linha não retorna nada
Dim fi As FieldInfo = dt.GetField(ei.Name, AllBindings)
significa que, de alguma forma, meu evento não é reconhecido como um campo.
Alguém sabe como remover todos os manipuladores de eventos de um evento?
Saúde antecipadamente.