博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.NET 命名规范 代码示例
阅读量:6829 次
发布时间:2019-06-26

本文共 3609 字,大约阅读时间需要 12 分钟。

 

class Person     {
/// /// 公有字段、属性 首字母大写 /// public string FirstName; public string LastName; public string Name {
get { return string.Format("{0}{1}", FirstName, LastName); } } public string GetName() {
return Name; } /// /// 如果属性对应一个类型,则直接用类型命名属性名 /// public Company Company { get; set; } /// /// 多个类型的属性命名 /// public Company SecondCompany { get; set; } } class Company {
/// /// 私有字段的命名 /// private string firstName; private string lastName; /// /// 静态变量 s_ /// private static int s_price; /// /// 实例变量 m_ /// private int m_price;//类的成员变量(私有)(在有静态变量时,添加m_加以区分,如果没有则直接如firstName这种方式即可) /// /// const变量使用名词加下划线表示 /// private const int BASED_PRICE = 1000; /// /// 使用肯定语气 /// public bool IsEnable { get; set; } /// /// 方法的参数及局部变量首字母小写 /// private int doSomething(int numberA, int numberB)//(本人习惯用 int argNumberA 带arg开头的作为方法的参数传入) {
//局部变量不要求使用 m_ 开头的前缀,以区分全局变量 int localNumber = 1;//局部变量 myName int _localNumber2 = 2;//私有成员变量(也可以以下划线开头+首字母小写) return numberA + numberB + localNumber + _localNumber2; } } class DelegateNaming {
/// /// 委托按照作用分为以Delegate、Callback结尾 /// public delegate void HttpContinueDelegate(int argStatusCode, System.Net.WebHeaderCollection argHttpHeaders); public delegate bool ValidateValueCallback(object argValue); public delegate void AsyncCallback(IAsyncResult ar); //public delegate void PropertyChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e); //事件、委托变量应该用动词、形容词短语命名 } class EventNaming {
触发事件 //OnDoSomething1(sender); 注册事件 //this.AfterDoSomething1 += Form1_AfterDoSomething1; //声明事件: //private static readonly object EventDoSomething1 = new object(); / / //[Category("行为"), Description("后处理")] //public event DelegateTest1 AfterDoSomething1 //{
// add // {
// Events.AddHandler(EventDoSomething1, value); // } // remove // {
// Events.RemoveHandler(EventDoSomething1, value); // } //} //public virtual void OnDoSomething1(object sender) //{
// var objDoSomething1 = (DelegateTest1)Events[EventDoSomething1]; // if (objDoSomething1 != null) // {
// objDoSomething1(this); // } //} //public delegate void DelegateTest1(object sender); }
 
有关事件的用法示例:
using System; using System.ComponentModel; using System.Windows.Forms; namespace WinFormsApp_Naming {
/// /// 事件的使用 /// public partial class Form1 : Form {
public Form1() {
InitializeComponent(); //注册事件 this.AfterDoSomething1 += Form1_AfterDoSomething1; } /// /// 执行事件 /// void Form1_AfterDoSomething1(object sender) {
MessageBox.Show("DoSomething.."); } private void button1_Click(object sender, EventArgs e) {
//触发事件 OnDoSomething1(sender); } private static readonly object EventDoSomething1 = new object(); /// /// [Category("行为"), Description("后处理")] public event DelegateTest1 AfterDoSomething1 {
add {
Events.AddHandler(EventDoSomething1, value); } remove {
Events.RemoveHandler(EventDoSomething1, value); } } public virtual void OnDoSomething1(object sender) {
var objDoSomething1 = (DelegateTest1)Events[EventDoSomething1]; if (objDoSomething1 != null) {
objDoSomething1(this); } } public delegate void DelegateTest1(object sender); } }
其中 Events继承至IComponent,即仅在界面层使用

转载地址:http://gnjkl.baihongyu.com/

你可能感兴趣的文章
HDU 3944 DP? [Lucas定理 诡异的预处理]
查看>>
[个人翻译]Redis 集群教程(下)
查看>>
android 指定时间加一个小时算法
查看>>
[maven] settings 文件 国内镜像站
查看>>
redis make test 报错
查看>>
使用阿里DOCKER镜像加速器加速
查看>>
java-信息安全(二)-对称加密算法DES,3DES,AES,Blowfish,RC2,RC4
查看>>
java-信息安全(七)-基于非对称加密,对称加密等理解HTTPS
查看>>
[LeetCode] Encode and Decode TinyURL 编码和解码精简URL地址
查看>>
得到指定目录下的文件名
查看>>
JS代码压缩格式化在线地址
查看>>
maven 使用之自动编译热部署设置
查看>>
Cassandra第一次使用
查看>>
[转]关于OpenGL的绘制上下文
查看>>
Java ArrayList、string、string[]之间的转换
查看>>
Eclipse 配置Maven以及修改默认Repository
查看>>
【NOI2015】【寿司晚宴】【状压DP】
查看>>
软件开发的一些"心法"
查看>>
MySQL索引及查询优化总结
查看>>
获取iOS系统版本号,慎重使用[[[UIDevice currentDevice] systemVersion] floatValue]——【sdk缺陷】...
查看>>