zoukankan      html  css  js  c++  java
  • 编写高质量代码改善C#程序的157个建议——建议139:事件处理器命名采用组合方式

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

  • 相关阅读:
    快速学习javaSE基础4---面向对象的编程
    eclipse 小技巧,设置输入任何字母都有快捷提示.
    快速学习javaSE基础3-java必须了解的基本语法2(熟记)
    快速学习javaSE基础3-java必须了解的基本语法1(熟记)
    数据可视化之导入数据
    pandas读取Excel文件
    pandas进阶
    给定地球上两点的经纬度,求两点之间沿地球表面最短的弧线距离
    06异常
    05设计模式
  • 原文地址:https://www.cnblogs.com/jesselzj/p/4753079.html
Copyright © 2011-2022 走看看