我想将一个方法的引用传递给另一个方法并将其存储为变量。后来,我想用这个引用来定义一个事件处理程序。
制作事件处理程序时,方法引用的传递如下:
myButton.Click += new RoutedEventHandler(myButton_Click);
如果您从 intelliSense 查看“RoutedEventHandler”的构造函数,它看起来像:
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);
}
}
谢谢,本