0
我有以下类如何从事件中删除所有事件处理程序?
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
(我假设一个难以使用的复杂应用程序: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)
意味着,不知我的事件没有被识别为一个场。
有谁知道如何从事件中删除所有事件处理程序?
提前欢呼。
你摇滚的人!谢谢 ! – 2014-10-27 01:25:44