5.12 事件
- 事件處理器委派名稱以
EventHandler 結尾。
- 兩個參數命名為
sender (object) 與 e (具體 EventArgs 衍生類別)。
- 事件參數類別以
EventArgs 結尾。
- 考慮用動詞命名事件(如
Click、Closing)。
- 事件前概念用動名詞 (
ing),後概念用過去式 (ed),如 Closing/Closed。禁用 BeforeXxx/AfterXxx 模式。
- 事件宣告不加前綴/後綴(用
Close 而非 OnClose)。
- 可覆寫事件應提供
protected virtual void OnXxx(EventArgs e) 方法。
範例
public delegate void MouseEventHandler(object sender, MouseEventArgs e);
public class MouseEventArgs : EventArgs
{
public int X { get; }
public int Y { get; }
public MouseEventArgs(int x, int y) { X = x; Y = y; }
}