【发布时间】:2009-01-05 22:31:57
【问题描述】:
我想将一个方法的引用传递给另一个方法并将其存储为变量。稍后,我想用这个引用来定义一个事件处理程序。
在创建事件处理程序时,方法引用的传递方式如下:
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);
}
}
谢谢, 本
【问题讨论】:
标签: c# wpf events reference methods