我想将方法的引用传递给另一个方法,并将其作为变量存储。后来,我想用这个引用来定义一个事件处理程序。如何将方法引用传递给C中的另一种方法#
当进行事件处理程序,方法引用传递,如:
myButton.Click += new RoutedEventHandler(myButton_Click);
而且如果你从智能感知的构造“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);
}
}
感谢, 本
如果_buttonClickHandler已经是RoutedEventHandler,我不应该能够将它设置为像myButton.Click + = _buttonClickHandler? – 2009-01-05 22:51:01