Я хотел бы передать ссылку на метод в другой метод и сохранить его как переменную. Позже я хотел бы использовать эту ссылку для определения обработчика событий.
При создании обработчика события ссылка на метод передается следующим образом:
myButton.Click += new RoutedEventHandler(myButton_Click);
И если вы посмотрите на конструктор для "RoutedEventHandler" из intelliSense, он будет выглядеть так:
RoutedEventHandler(void(object, RoutedEventArgs))
Я хотел бы передать метод myButton_Click другому статическому методу и создать там обработчик событий. Как передать ссылку на статический метод? Я пробовал следующее, но оно не компилируется:
public class EventBuilder
{
private static void(object, RoutedEventArgs) _buttonClickHandler;
public static void EventBuilder(void(object, RoutedEventArgs) buttonClickHandler)
{
_buttonClickHandler = buttonClickHandler;
}
public static void EnableClickEvent()
{
myButton.Click += new RoutedEventHandler(_buttonClickHandler);
}
}
Спасибо,
Ben