VB .NET динамически вызывает control.Validating событие с помощью отражения - PullRequest
1 голос
/ 17 февраля 2011

Для каждого элемента управления c в форме мне нужно динамически обнаружить его событие Validating и вызвать его.

Я могу получить информацию о событии:

 Dim ei As EventInfo = c.GetType.GetEvent("Validating")

Я могу получить списокevents:

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 - это всегда Ничто.

Я не могу собрать их вместе и найти обработчик событий, а затемназови это.

...