局部类型上的接口具有累加效应换言之如下的代码
partial class C:IA
IB{
}
partial class C:IC{}
partial class C:IAIB{}
相当于如下代码
class C:IA
IB
IC{
}
空属类型
空属类型简介
空属类型允许一个值类型具有空值意义从而方便很多场合的运算如数据库中的空字段
空值类型演示
int i = ;
int? x = i;
double? y = x;
int? z = (int?)y;
空属类型的几个注意点
空属类型实际上是一个泛型类型SystemNullable空属类型的基础类型就是SystemNullable的类型参数其中T必须为值类型
空属类型如果值不为空可以运用同样的基础类型所具有的运算如+ * /
空属类型的HasValue属性用来判断类型是否为空如果不为空则可以通过Value属性来获取它的基础类型的值
静态类型
静态类简介
静态类只用于包含静态成员的类型它既不能实例化也不能被继承它相当于一个sealed abstract类
static class MyUtility
{
public const int data;
public static void Foo()
{
}
}
静态类的几个注意点
静态类不能有实例构造器
静态类不能有任何实例成员
静态类不能使用abstract或sealed修饰符
静态类默认继承自SystemObject根类不能显式指定任何其他基类
静态类不能指定任何接口实现
静态类的成员不能有protected或protected internal访问保护修饰符
总结
局部类型是一个纯语言层的编译处理不影响任何执行机制 事实上C#编译器在编译的时候仍会将各个部分的局部类型合并成一个完整的类
空属类型允许一个值类型具有空值意义从而方便很多场合的运算如数据库空字段空属类型实际上是一个泛型类SystemNullable
静态类只用语包含景泰成员的类型他既不能实例化也不能被继承它相当于一个sealed abstract类
[] [] []