对于表单中的每个Control c,我需要动态发现其Validating事件并调用它。
我可以获得活动信息:
Dim ei As EventInfo = c.GetType.GetEvent("Validating")
我可以获取事件列表:
Dim events As System.ComponentModel.EventHandlerList =
CType(c.GetType.InvokeMember("Events", System.Reflection.BindingFlags.GetProperty Or System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic, Nothing, c, Nothing), EventHandlerList)
我试图:
Dim fi As FieldInfo = c.GetType.GetField("EventValidating", System.Reflection.BindingFlags.Static Or System.Reflection.BindingFlags.NonPublic)
但是fi总是没有。
我不能把它们放在一起找到事件处理程序然后调用它。