【发布时间】:2015-03-12 15:47:11
【问题描述】:
我正在分配一个像这样的点击事件处理程序
var buttonEvent = button.GetType().GetEvent("Click");
var eventMethod = GetType().GetMethod("button_Click");
var handler = Delegate.CreateDelegate(buttonEvent.EventHandlerType, this, eventMethod);
buttonEvent.AddEventHandler(button, handler);
点击事件处理程序是这样的:
void button_Click(object sender, EventArgs e) { }
如何将自定义参数传递给处理程序?理想情况下我会喜欢
void button_Click(object sender, MyCustomEventArgs e) { }
我可以在分配事件时设置 MyCustomEventArgs。
【问题讨论】:
-
你学过继承吗?
-
我知道
MyCustomEventArgs将扩展EventArgs。我只是不知道在哪里/如何在其中放置任何东西 -
在扩展
Button的MyCustomButton中,覆盖 onClick 方法 -
不太可行。必须有另一种方法,但这仍然不能解释我如何填充 MyCustomEventArgs
标签: c# reflection delegates