为什么EventHandlers会这样设计?
void uxSave_Click(object sender, EventArgs e)
为什么不呢?
void uxSave_Click(Button sender, EventArgs e)
答案 0 :(得分:3)
因为在使用第一种方式时,您也可以将此单击事件附加到面板。但如果你必须控制事件做第二种方式,你需要定义两个事件,而不是在两个地方附加一个事件。
答案 1 :(得分:3)
另外,请记住.NET在版本1.0中没有泛型。否则,合理的设计可能已将事件处理程序定义为:
public delegate void EventHandler<TSender, TEventArgs>(TSender sender, TEventArgs e);
public event EventHandler<Control,ClickEventArgs> Click;
答案 2 :(得分:0)
我认为这可能是因为您不能总是假设您的发件人是您期望的类型。其他人可以从其他地方调用该事件。