建议139:事件处理器命名采用组合方式

来源:互联网 发布:怎么提高记忆力知乎 编辑:程序博客网 时间:2024/06/02 03:54

建议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个建议》陆敏技

0 0