У меня есть следующий классКак удалить все обработчики событий из события?
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
И я пытаюсь удалить обработчик событий динамически созданный с помощью кода в: Code Project
(I принять сложное приложение, где это трудно использовать: 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)
означает, что какое-то образом мое событие не признается в качестве поля ,
Кто-нибудь знает, как удалить все обработчики событий из события?
Приветствия заранее.
You rock man !! Спасибо ! –