I need to assign an eventHandler to an object, in this way:
_Element.AddHandler(UIElement.MouseLeftButtonUpEvent,
new RoutedEventHandler(Vars.Digit), true);
but, in fact, I only have a string that contains “Digit” or other method name in the Vars object instance.
It is possible to achieve this using reflection or other kind of trick?
Thanks.
Yes, you can find the method with
Type.GetMethod, and the event withType.GetEvent, then add a handler withEventInfo.AddEventHandler. It may be slightly fiddly – and there’ll be a lot of places to put error handling – but it shouldn’t be too hard. Don’t forget to specify binding flags if you want to be able to bind non-public methods/events.