C# partial(部分类) 和 sealed(密封类)
局部类型(partial)
c#2.0引入了局部类型的概念。局部类型允许我们将一个类、接口或结构分成好几个部分,分别实现在几个不同的.cs文件中。
局部类型适用于以下情况:
(1)类型特别大,不宜放在一个文件中实现。
(2)一个类型中的一部分代码为自动化工具生成的代码,不宜与我们自己编写的代码混合在一起。
(3)需要多人合作编写一个类。
局部类型是一个纯语言层的编译处理,不影响任何执行机制--事实上c#编译器在编译的时候仍会将各个部分的局部类型合并成一个完整的类。
是为了把一个类分到两个文件里,达到物理分离逻辑不分离。
sealed 修饰符可以应用于类、实例方法和属性。密封类不能被继承。密封方法会重写基类中的方法,但其本身不能在任何派生类中进一步重写。
当应用于方法或属性时,sealed 修饰符必须始终与 override 一起使用。
示例:
partial class Person //partial类 类名相同 { private string _name;//字段 } partial class Person //partial类 类名相同 { void Say() { Console.WriteLine(_name);//可以在里调用字段。 } } sealed class S:Person { //密封类,其他类无法继承它,它可以继承其它类。 }