Как удалить все обработчики событий из события?
У меня есть следующий класс
Public Class SimpleClass
Public Event SimpleEvent()
Public Sub SimpleMethod()
RaiseEvent SimpleEvent()
End Sub
End Class
Я воплощаю это как
Obj = New SimpleClass
AddHandler Obj.SimpleEvent, Sub()
MsgBox("Hi !")
End Sub
И я пытаюсь удалить обработчик событий, динамически созданный с помощью кода в:Код проекта
(Я предполагаю сложное приложение, где его трудно использовать:RemoveHandler Obj.Event, AddressOf Me.EventHandler)
В их коде есть следующий метод
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
Но при вызове этого кода с использованием моего типа объекта следующая строка ничего не возвращает
Dim fi As FieldInfo = dt.GetField(ei.Name, AllBindings)
означает, что как-то мое событие не распознается как поле.
Кто-нибудь знает, как удалить все обработчики событий из события?
Приветствия заранее.