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

作者:time-flies 时间:2022-02-27 06:57:43 

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、类如何使用

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

  • 实例化的最终结果是产生一个这个类型的新对象成员

来源:https://blog.csdn.net/FliesOfTime/article/details/100688367

标签:C#,事件标准,命名规则
0
投稿

猜你喜欢

  • Java读写Windows共享文件夹的方法实例

    2022-10-02 02:25:45
  • 一口气说出Java 6种延时队列的实现方法(面试官也得服)

    2022-12-15 16:40:12
  • Android实现ListView控件的多选和全选功能实例

    2023-01-04 02:26:50
  • SpringBoot全局配置long转String丢失精度的问题解决

    2023-02-19 22:58:49
  • Android clipChildren属性实例详解

    2022-12-29 02:35:50
  • Java编程实现汉字按字母顺序排序的方法示例

    2022-10-08 19:39:40
  • java创建多级目录文件的实例讲解

    2023-11-27 09:29:02
  • 详解Android WebView加载html片段

    2023-04-23 11:40:12
  • springboot整合kaptcha生成验证码功能

    2023-07-14 21:48:51
  • spring mvc中的@PathVariable获得请求url中的动态参数

    2023-08-22 22:08:40
  • java贪吃蛇游戏编写代码

    2023-06-16 02:41:10
  • 关于springcloud集成nacos遇到的问题

    2022-02-27 17:41:46
  • Android获取app应用程序大小的方法

    2023-09-18 15:02:18
  • 实例探究Android应用编写时Fragment的生命周期问题

    2022-12-15 19:57:22
  • 解决IDEA导入javaWeb项目注解爆红的问题

    2021-08-07 13:42:02
  • Android关于FTP文件上传和下载功能详解

    2021-06-02 18:15:55
  • java面试常见模式问题---代理模式

    2022-02-14 13:07:31
  • springboot web项目打jar或者war包并运行的实现

    2022-11-20 03:01:59
  • Java ArrayDeque使用方法详解

    2022-02-09 08:00:23
  • JAVA JDK8 List分组获取第一个元素的方法

    2021-06-24 13:07:51
  • asp之家 软件编程 m.aspxhome.com