class Person
{
/// <summary>
/// 公有字段、属性 首字母大写
/// </summary>
public string FirstName;
public string LastName;

public string Name
{
get { return string.Format("{0}{1}", FirstName, LastName); }
}

public string GetName()
{
return Name;
}

/// <summary>
/// 如果属性对应一个类型,则直接用类型命名属性名
/// </summary>
public Company Company { get; set; }

/// <summary>
/// 多个类型的属性命名
/// </summary>
public Company SecondCompany { get; set; }
}

class Company
{
/// <summary>
/// 私有字段的命名
/// </summary>
private string firstName;
private string lastName;

/// <summary>
/// 静态变量 s_
/// </summary>
private static int s_price;

/// <summary>
/// 实例变量 m_
/// </summary>
private int m_price;//类的成员变量(私有)(在有静态变量时,添加m_加以区分,如果没有则直接如firstName这种方式即可)

/// <summary>
/// const变量使用名词加下划线表示
/// </summary>
private const int BASED_PRICE = 1000;

/// <summary>
/// 使用肯定语气
/// </summary>
public bool IsEnable { get; set; }

/// <summary>
/// 方法的参数及局部变量首字母小写
/// </summary>
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
{
/// <summary>
/// 委托按照作用分为以Delegate、Callback结尾
/// </summary>
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();
/////<summary>
/////</summary>
//[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
{
/// <summary>
/// 事件的使用
/// </summary>
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();

//注册事件
this.AfterDoSomething1 += Form1_AfterDoSomething1;
}

/// <summary>
/// 执行事件
/// </summary>
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();
///<summary>
///</summary>
[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,即仅在界面层使用

.NET 命名规范 代码示例的更多相关文章

  1. python代码规范和命名规范

    一.简明概述 1.编码 如无特殊情况, 文件一律使用 UTF-8 编码 如无特殊情况, 文件头部必须加入#-*-coding:utf-8-*-标识 2.代码格式 2.1.缩进 统一使用 4 个空格进行 ...

  2. 10分钟了解代码命名规范(Java、Python)

    前言 关于代码命名,我相信是经常困扰很多小伙伴的一个问题,尤其是对于强迫症晚期患者.怎么说呢,每次小编在写代码之前,总会在想啊想啊,用什么命名法好呢?对于经常在C++.Java.Python等主流语言 ...

  3. Android 命名规范 (提高代码可以读性)

    android文件众多,根据名称来辨别用途很重要,因此命名要规范 这篇文章可参考:Android 命名规范 (提高代码可以读性) 刚接触android的时候,命名都是按照拼音来,所以有的时候想看懂命名 ...

  4. Android 命名规范 (提高代码可以读性) 转

    转自:http://blog.csdn.net/vipzjyno1/article/details/23542617 刚接触android的时候,命名都是按照拼音来,所以有的时候想看懂命名的那个控件 ...

  5. C# 控件缩写大全+命名规范+示例

    如有转载,请注明出处:http://www.cnblogs.com/flydoos/archive/2011/08/29/2158903.html C# 控件缩写大全+命名规范+示例 写程序的时候突然 ...

  6. iOS代码规范之命名规范

    技术博客http://www.cnblogs.com/ChenYilong/    新浪微博http://weibo.com/luohanchenyilong   命名规范类命名    首字母大写,之 ...

  7. [转] Android 命名规范 (提高代码可以读性)

    Android命名规范编码习惯 刚接触android的时候,命名都是按照拼音来,所以有的时候想看懂命名的那个控件什么是什么用的,就要读一遍甚至好几遍才知道,这样的话,在代码的 审查和修改过程中就会浪费 ...

  8. C#中的代码书写规范以及命名规范

    C#代码书写规则: 1. 尽量使用接口,然后使用类实现接口,以提高程序的灵活性. 2.一行不要超过80个字符 3.尽量不要手动更改计算机生成的代码 4.关键的语句写注释 5.建议局部变量在最接近使用它 ...

  9. python基础(代码规范、命名规范、代码缩进、注释)

    代码规范 PEP8(python增强建议书第8版) 每个import语句只导入一个模块 不要在行尾添加分号";" 建议每行不超过80个字符   超出部分可以用()来进行换行例如: ...

随机推荐

  1. RabbitMQ介绍4 - 编程(C#客户端示例)

    C#终端的说明文档: http://www.rabbitmq.com/dotnet-api-guide.html 这里介绍使用RabbitMQ的几种典型场景. 1. 简单direct模式( http: ...

  2. 图片_ _ Bitmap_Drawable_Image?

    ===== 2 ==== 1 b.读取res/drawable目录下的 png或者bmp Resources r = this.getContext().getResources(); //以数据流的 ...

  3. windows上传文件到linux

    1.在putty的网站上下载putty跟pscp 2.安装ssh跟putty sudo apt-get install openssh-server sudo apt-get install putt ...

  4. 为什么选择centos,而不是Dibian、Ubuntu【转】

    我们运行着一些全球最大的互联网的营运,因此我们对可靠性和稳定性非常重视,是我们的第一要务.为此,我们只使用Linux来支撑顾客的系统.但是,我们应该使用哪一个Linux的发行版?答案是,CentOS. ...

  5. SQL日期格式

    ) :: ),'-',''),' ',''),':','') ) , ) ) , ) ) , ) ) , ) 其它不常用的日期格式转换方法: ) , ) ) , ) ) , ) ) , ) ) , ) ...

  6. Celery 使用简介

    转自:http://liuzxc.github.io/blog/celery/ Celery 是一个简单.灵活且可靠的,处理大量消息的分布式系统,它是一个专注于实时处理的任务队列, 同时也支持任务调度 ...

  7. ContextLoaderListener与DispatcherServlet所加载的applicationContext的区别

    spring通过在web.xml 中配置ContextLoaderListener 来加载context配置文件,在DispatcherServlet中也可以来加载spring context配置文件 ...

  8. 构建高性能可扩展asp.net网站--20130628

    构建高可扩展性最经常讨论到的问题: 如何才能让HTML 显示得更快? 缓存的最佳方式是什么? 如何使用IIS 让网站更快? 如何处理会话状态? 如何改进ASP.NET 代码? 我的数据库为什么这么慢? ...

  9. (easy)LeetCode 226.Invert Binary Tree

    Invert a binary tree. 4 / \ 2 7 / \ / \ 1 3 6 9 to 4 / \ 7 2 / \ / \ 9 6 3 1 Trivia:This problem was ...

  10. [HDU 3033] I love sneakers! (动态规划分组背包)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3033 题意:给你K种品牌,每种品牌有不同种鞋,现在每种品牌至少挑一款鞋,问获得的最大价值,如果不能每种 ...