爲什麼EventHandlers這樣設計?爲什麼EventHandlers對象的參數只是一個對象類型?
void uxSave_Click(object sender, EventArgs e)
爲什麼不是這個?
void uxSave_Click(Button sender, EventArgs e)
爲什麼EventHandlers這樣設計?爲什麼EventHandlers對象的參數只是一個對象類型?
void uxSave_Click(object sender, EventArgs e)
爲什麼不是這個?
void uxSave_Click(Button sender, EventArgs e)
因爲在使用第一種方法,你可以將這個點擊事件附加到面板上。但是如果第二種方式完成,如果您必須控制事件,您需要定義兩個事件,而不是在兩個地方附加一個事件。
另外,請記住.NET在版本1.0中沒有泛型。否則,合理的設計可能定義事件處理程序是:
public delegate void EventHandler<TSender, TEventArgs>(TSender sender, TEventArgs e);
public event EventHandler<Control,ClickEventArgs> Click;
我想這可能是因爲你不能總是假定你的發件人是你期望的類型。其他人可以從其他地方召集該事件。