C#事件标准命名规则及说明(包括用作事件类型的委托命名)

2023-02-25 17:02:55 事件 命名 用作

C#事件标准命名规则

一些开源代码的事件命名很混乱,以此文章用作本人以后工作的参考。

事件的名称

事件始终是指某个操作,这个操作可能正在发生,也可能已经发生。 因此与方法一样,事件用谓词命名,谓词时态用于指示事件引发的时间。

✓ 务必使用谓词或谓词短语来命名事件。

示例:Clicked、Painting、DroppedDown 等。

✓ 务必通过使用现在时态和过去时态,让事件名称含有时间先后的概念。

例如,窗口关闭之前引发的事件称为 Closing,窗口关闭之后引发的事件称为 Closed。

X 请勿使用 “Before” 或 “After” 前缀和后缀来指示事件之前或之后。 应按前述使用现在时态和过去时态。

✓ 请使用 “EventHandler” 后缀来命名事件处理程序(用作事件类型的委托),如以下示例所示:

public delegate void ClickedEventHandler(object sender, ClickedEventArgs e);

✓ 务必在事件处理程序中使用两个名为 sender 和 e 的参数。

sender 参数表示引发事件的对象。 sender 参数的类型通常是 object,且可能会使用更具体的类型。

✓ 务必使用“EventArgs”后缀来命名事件参数类。

个人建议:对于名称意义不明的事件可添加Event后缀,尽量少用后缀。

官方参考:https://docs.microsoft.com/zh-cn/dotnet/standard/design-guidelines/names-of-type-members#names-of-events

事件触发方法的名称

事件需要有一个事件触发方法,用于检测事件是否有绑定的方法,如果有就触发事件。直接触发事件在事件没有绑定方法时会引发空异常。

✓ 务必使用“On+事件名称”来命名事件触发方法。

C#命名规范、变量、类Class

C#中的命名规范

1、命名方式

驼峰命名法:变量命名时,首单词全部小写,之后单词首字母大写。适用于变量的声明

例如:int imgIndex=0;  string txtPersonName="xxx";

帕斯卡命名法:所有单词的首字母大写。适用于所有的项目名称、对象名称、方法名称、属性名称

例如:Class BiGCar,SmallCar;

2、命名规则

《1.》 创建项目在学习过程中可以使用中文,但是在工作中严格禁止使用中文、拼音

《2.》 在给项目命名使用帕斯卡命名法(所有的英文单词首字母大写)

《3.》 声明变量等不允许使用特殊符号(除过_)、关键字

什么是变量

变量是指在程序执行时,将一些数据要进行临时存储,随着程序的执行过程随时随地需要被使用,这时需要在程序的运行内存中开辟一个空间来临时存放这些数据,这就是变量的作用

1、如何声明变量

  • [访问修饰符] 数据类型 变量名称=初始值;
  • 数据类型(值类型和引用类型):规范了这个变量空间中允许存放的数据的类型
  • 变量名称:可以理解为变量的指针地址,可以通过变量名称来寻找变量中所存放的数据
  • 初始值:当这个变量被定义时初次所存储的数据

2、变量的分类

《1.》 全局变量

  • 全局变量是指一个变量的声明地方直接在Class里面,
  • 全局变量声明周期:从计算机开始创建这个Class对象则全局变量就被创建,到这个Class对象被GC释放全局变量也被清理
  • 变量的作用域:在这个Class内部的任何地方都可以被使用

《2.》局部变量

  • 局部变量是指一个变量的声明地方在类成员中(方法、事件、语法结构中)
  • 局部变量的声明周期:计算机阅读到变量的声明代码则变量被创建,到计算机阅读超出变量的作用域变量被释放
  • 变量的作用域:在其声明地所在的大括号内部
  • 尽可能减少不必要的全局变量,能用局部变量解决的问题千万不要使用全局变量,在一个对象中的任意地方都有可能用到这个变量时,才声明为全局变量

类Class

1、类是什么

  • 类指的是一类对象的统称,类也是对象,类是对象的抽象化
  • 编程中创建对象,写出的代码叫类

2、类如何识别

  • 关键字颜色是淡绿色
  • 要么就观察其类型是Class

3、类如何使用

  • 大多数类在使用时,需要先对其进行实例化创建一个新的成员对象,这个对象就具有这个类的所有功能
  • 实例化的最终结果是产生一个这个类型的新对象成员

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

相关文章