现在的位置: 首页 > 综合 > 正文

.Net琐碎知识点

2014年08月03日 ⁄ 综合 ⁄ 共 1722字 ⁄ 字号 评论关闭

规范:
* 注释

* 骆驼命名 :第一个单词首字母小写,之后的单词首字母大写 userName、userPassword、realName…(普通变量、字段)
* 帕斯卡命名:第一个单词首字母大写,之后的单词首字母大写 GetMax()、ChangeName()…(方法名、类名
* 定义的变量或者方法 名字要有意义。
* 方法名:动词。Write()、Open()、Close()、Dispose()、GetUserId()、…(方法都是要做一件事情)
* 变量名:按功能命名、按方法的返回值内容命名(userName=GetUserName();)

文档注释:
连续按下3个 / ,就会自动生成。
文档注释作用:
1.使用代码时会有提示
2.可根据文档注释生成软件的“说明书”。

1.将文档注释生成xml文件的方法:“项目”→“属性”→“生成”→“输出”→“Xml文档文件”(CheckBox勾选)
2.若要基于编译器生成的文件创建最终文档,可以创建一个自定义工具,也可以使用 Sandcastle 等工具。

转义符:
 * string:"\"ab\""、"ab\nb"、"c:\\a.txt"、@"c:\a.txt"(推荐)。@表示字符串中的\不当 
    成转义符 
* @不是万能的,不能解决字符串中有双引号的问题,如果有双引号还是用转义符 
  ‘a’是char,"a"是string 
  问题: 
     •  String str=Console.ReadLine(); 
     •  Console.WriteLine(str); 
     •  用户输入a\nb,输出什么?转义符只针对在代码中直接写出的字符串,对于程序中读取出来没有这个问题。

 var隐式类型(类型推断)
 
var 强类型.根据后面的值自动推断类型,编译时把推断的类型替换掉var
只是方便程序员使用而已。
不能作为类成员的类型、不能用作方法的参数,返回值。(只能用作局部变量的类型推断)
var声明的仅限于局部变量,不可用于字段。亦可以用于for,foreach,using 等语句中。 

扩展方法:
声明扩展方法的步骤:类必须是static,方法是static,第一个参数是被扩展的对象,前面标注this(this 数据类型 参数名)。使用扩展方法的时候必须保证扩展方法类已经在当前代码中using
public static class PersonExt
    {
        public static void SayHello(this Person p)
        {
            Console.WriteLine("Hello");
        }
    }

Attribute(特性、标记):
就是一个标签,在使用当前类的地方,通过反射获取该特性。
一般为了与Property(属性)区分,所以把attribute翻译成“特性”。
特性没有什么实际意义,就是打了一个标签(可能该类中还会存储一些数据)。
Attribute用来对类、属性、方法等标注额外的信息,贴一个标签。
Attribute的格式:[Attribute类名(构造函数参数)],如果没有参数可以简写为[Attribute类名]
常用内置的Attribute:
[Obsolete("推荐用IncAge方法")]:过时成员。一个方法过时一般是不推荐再使用,不会再修改bug,甚至是在今以后版本中删除。
[Bindable]:把属性标记为Bindable,这个属性就可以进行数据绑定
[DisplayName],开发一个电话号码UserControl,将TelphoneNum字段的DisplayName设为“电话号码”。
Attribute就是类,Attribute类名一般都以Attribute结尾,使用的时候不用加Attribute这个结尾。使用Attribute的时候给的参数其实就是构造函数
反编译DisplaynameAttribute,发现没有特殊代码。标签本身是没有含义,只是起到标注的作用,具体怎么解释、使用这个标识,是由使用者来决定:属性视图窗口、C#编译器。相当于在放上画一个“拆”,本身这个字没有含义。

待补充.....................................

【上篇】
【下篇】

抱歉!评论已关闭.