1. 程式人生 > >【轉】編寫高質量代碼改善C#程序的157個建議——建議139:事件處理器命名采用組合方式

【轉】編寫高質量代碼改善C#程序的157個建議——建議139:事件處理器命名采用組合方式

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:事件處理器命名采用組合方式