メソッドの参照を別のメソッドに渡し、それを変数として保存したいと考えています。後で、この参照を使用してイベント ハンドラーを定義したいと思います。
イベント ハンドラーを作成するとき、メソッド参照は次のように渡されます。
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);
}
}
ありがとう、ベン