C#锐利体验2.0:
局部类型、空属类型、静态类
李建忠
www.lijianzhong.com
上海祝成科技 高级讲师
Agenda
• 局部类型
• 空属类型
• 静态类
• 讲座总结
•Q&A
局部类型的引入
• 没有局部类型的时候(C# 1.0):
class App {
public void Foo() {……}
……
public void Bar() {……}
……
}
• 有了局部类型之后(C# 2.0):
partial class App {
public void Foo()
{……}
……
}
partial class App {
public void Bar()
{……}
……
}
局部类型简介
• 局部类型允许我们将一个类型(类、结构或者接
口)分成几个部分,分别实现在几个不同的.cs文
件中。
• 局部类型适用于以下情况:
– 类型特别大,不宜放在一个文件中实现;
– 一个类型中一部分代码为自动化工具生成的代码,不
宜与我们自己编写的代码混合在一起。
• 局部类型是一个纯语言层的编译处理,不影响任
何执行机制——事实上C#编译器在编译的时候仍
会将各个部分的局部类型合并成一个完整的类。
局部类型的一些限制
• 局部类型只适用于类、结构、或接口,不支持委
托或枚举。
• 同一个类型的各个部分必须都有修饰符partial。
• 使用局部类型时,一个类型的各个部分必须位于
相同的命名空间中。
• 一个类型的各个部分必须被同时编译。换言之,
C#不支持先编译一个类型的某些部分,然后再编
译一个类型的某些部分。