1、类的默认限定符
2、派生类中重写的方法要和抽象类的抽象方法中的限定符一致;
3、属性中的内联
完全由CLR决定,我们无法使用像c++中inline的关键字来控制哪些方法是内联的。
4、类中的静态构造函数
静态构造函数没有访问修饰符;
.NET运行库没有确保什么时候执行静态构造函数,所有不应该把要求在某个特定时刻(eg:加载程序集时)执行的代码放在静态构造函数中。也不能预计不同类的静态构造函数按照什么顺序执行。但是,可以确保静态构造函数最多执行一次,通常在第一次调用类的任何成员之前执行静态构造函数。
静态构造函数不能带任何参数。而且它只能访问类的静态成员。
5、类 从构造函数中调用其他构造函数
用“this”关键字调用最匹配的构造函数 和base
6、只读字段
readonly和const ,前一个的灵活性更高,可以在构造函数中初始化,const不行,在声明的时候就要显示声明了
6、匿名类型
var和new结合使用
ps:对于var关键字,当然不是跟javascript的var一样的(又是废话),它是C# 3.0开始新增的特性,称为类型推断。而推断类型可以是内置类型、匿名类型、用户定义类型、.NET fk 类库中定义的类型或任何表达式
7、部分类
声明类的关键字什么的要一致;
8、扩展方法
当不知道一个类的源码的时候要扩展该类时候用到
扩展方法是静态方法,它是类的一部分
eg:
public static class TestClassExtension
{ public static void AddAge(this TestClass tc, int ageAdd) { tc.age1 += ageAdd; } }对于扩展方法,第一个参数是要拓展的类型,它放在this关键字的后面,例如上面的TestClass就是要扩展的类