16,722
社区成员




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