16,555
社区成员
发帖
与我相关
我的任务
分享
Imports System.Reflection
Module Module1
Sub Main()
Dim obj As New EventTestClass
'注册事件
AddHandler obj.MyEvent, Function(v As Integer) v + 1
'反射获取事件委托列表
Dim fi As FieldInfo = obj.GetType().GetField("MyEventEvent", BindingFlags.Instance Or BindingFlags.NonPublic)
Dim del As System.Delegate = fi.GetValue(obj)
'如果注册过,则不是Nothing
If del Is Nothing Then
Console.WriteLine("尚未注册事件")
Else
Console.WriteLine("注册事件了")
End If
Console.ReadKey()
End Sub
Public Class EventTestClass
Public Delegate Sub MyEventHandler(ByVal value As Integer)
Public Event MyEvent As MyEventHandler
Public Sub Foo()
RaiseEvent MyEvent(88)
End Sub
End Class
End Module