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#图形区域剪切的实现方法。分享给大家供大家参考。具体如下:using System;using System.Collect
- 本文实例为大家分享了java实现文件归档和还原的具体代码,供大家参考,具体内容如下基本思路: 文件归档,换句话就是把多个文件的字节
- C#语言有很多值得学习的地方,这里我们主要介绍C#使用if语句。如果想根据一个布尔表达式的结果选择执行两个不同的代码块,就可以C#使用if语
- 下面就来分享工具类的内容:使用范围:JavaBean类对象的属性不能是数组、List、Set、Mappublic class MapBean
- 一、介绍Android的大部分自定义软键盘主要是通过android自带控件KeyboardView实现的。那么,有没有其他简单易上手的方法来
- 前言在一个小项目中,需要用到京东的所有商品ID,因此就用c#写了个简单的爬虫。在解析HTML中没有使用正则表达式,而是借助开源项目HtmlA
- 该功能本来可以通过拉动水平和垂直滚动条来实现,但实际使用中,用户更趋向于直接用鼠标拖动页面来实现,很多看图类软件都有这种类似的功能。而.ne
- 一、实现效果图关于贝塞尔曲线 二、实现代码1.自定义viewpackage com.czhappy.showintroduce.view;i
- 前言在java Thread类中,我们会看到interrupt()、interrupted()及isInterrupted(),在大多数情况
- 现在很多网站都有注册登录的页面,为了更好的满足用户体验和网站的安全性,很多网站都采用动态生成的图形码或者是附加码进行验证,下面把生成验证码的
- 当app中打开了多个activity的时候,由于进入的比较深,所以,很多app不得不让用户一步一步退回到第一个界面(MainActivity
- DataSet 对象是支持 ADO.NET的断开式、分布式数据方案的核心对象 ,用途非常广泛.我们很多时候需要使用其中的数据,比如取得一个D
- 本文实例讲述了C#实现求一组数据众数的方法。分享给大家供大家参考。具体如下:1.算法描述1)输入合法性检验(输入不能为空)2)制作数组副本,
- 我们先来了解一下数组,因为数组在C#中是最早出现的。数组数组有很多的优点,比如说数组在内存中是连续存储的,所以它的索引速度是非常的快,而且赋
- 本文实例讲述了WPF中不规则窗体与WindowsFormsHost控件兼容问题的解决方法。分享给大家供大家参考。具体方法如下:这里首先说明一
- 本文实例分析了Android编程之TextView的字符过滤功能。分享给大家供大家参考,具体如下:TextView可以设置接受各式各样的字符
- 在实战中学习Spring,本系列的最终目的是完成一个实现用户注册登录功能的项目。预想的基本流程如下:1、用户网站注册,填写用户名、密码、em
- 1、ThreadLocal知识体系本文还是不能免俗,在回答这个问题之前需要先和大家介绍一下ThreadLocal的知识,使大家对Thread
- 1.编写核心类MainApp:package com.yiidian.gson;import com.google.gson.Gson;im
- java实现读取、删除文件夹下的文件package test.com;import java.io.File;import java.io.