this关键字用来扩展方法
扩展方法用于:在不改变目标类的代码的情况下,为目标类添加额外方法。但是一般建议少使用扩展方法,尤其是系统类。
- 声明扩展方法的类必须是static
- 扩展方法本身也必须是static
- 扩展方法包含关键字this作为第一个参数类型,并在后面跟上扩展的类型的名称
示例
public static class TestExtend
{
public static int TestFunc(this int num)
{
return num*10;
}
}
default关键字获取缺省值
default关键字可以用来获取一个类型的缺省值
例如:
default(int) //0
default(string) //
一般用来获取泛型缺省值:default(T)
引用类型的缺省值都是null
partial局部类的标识
当一个类的内容过多,并且明显有内容区分,可以使用partial这个关键字来进行类的拆分!
partial关键字可以让一个类的不同部分代码放在多个cs文件中!
- 只用于类、接口、结构
- 类的各个部分要在同一个命名空间
- 类的各个部分要同时编译
局部类上的Attribute、实现的接口有累加效应
public partial class A : IInterfaceA
public partial class A : IInterfaceB
相当于
public class A : IInterfaceA,IInterfaceB
同一个类的不同局部类访问修饰符要一致(不能一个private 一个public)
如果一个局部类用abstract修饰,那么整个类就是abstract
一个局部类用sealed修饰,整个类都是sealed(所以不能一个sealed一个abstract,因为密封类不能是抽象类)
sealed 密封
用在类上
当一个类不希望被别人继承的时候,可以使用关键字sealed来修饰这个类。
因为这个类不能被继承,所以不能是抽象类!
但是密封类可以继承别的类
sealed class TestClass
{
****
}
用在方法上
将禁止子类覆盖这个方法!sealed在方法上必须和override关键字一起使用!
public sealed override void TestFunc(){
*****
}