【轉】編寫高質量代碼改善C#程序的157個建議——建議139:事件處理器命名采用組合方式
阿新 • • 發佈:2017-12-11
date val col 事件處理器 component sed send property oid
建議139:事件處理器命名采用組合方式
所謂事件處理器,就是實際被委托執行的那個方法。查看如下代碼:
public MainWindow() { InitializeComponent(); Button button = new Button(); button.Click += button_Click; button.SizeChanged += button_SizeChanged; button.MouseDown += button_MouseDown; }void button_Click(object sender, EventArgs e) { throw new NotImplementedException(); } void button_SizeChanged(object sender, EventArgs e) { throw new NotImplementedException(); } void button_MouseDown(object sender, MouseEventArgs e) {throw new NotImplementedException(); }
這段代碼中,方法button_Click、button_SizeChanged、button_MouseDown即稱作事件處理器。VS默認為我們生成的事件處理器的命名規則:
事件變量所屬對象+下劃線+事件變量名
這種命名的方法用於註冊的方法(即“+=”操作符)添加事件處理器。如果我們要為委托或委托中的回調編寫處理器,則應該使用如下命名規則:
委托變量所屬對象+On+委托變量名
如下:
public bool NameOnValidateValue(object value) { }public void NameOnPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { }
失敗的命名:
public void NameChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { }
這個命名看上去更應該是一個委托或者事件變量。
當然,如果處理器在類內部,則可以忽略掉前面所屬類型,直接以On作為前綴。
轉自:《編寫高質量代碼改善C#程序的157個建議》陸敏技
【轉】編寫高質量代碼改善C#程序的157個建議——建議139:事件處理器命名采用組合方式