类型声明可以分为多个分部类型声明 (partial type declaration)。类型声明由它的各部分按照本节中的规则进行构造,因此在程序编译时和运行时的其余处理过程中,类型声明按单个声明处理。
如果class-declaration、struct-declaration或interface-declaration包含partial修饰符,则它表示分部类型声明。partial不是关键字,仅在它紧靠关键字class、struct或interface中的某一个之前出现在类型声明中或紧靠类型void之前出现在方法声明中时充当修饰符。在其他上下文中,它可用作正常标识符。
分部类型声明中的每一部分都必须包括一个partial修饰符。它必须和其他部分具有相同名称,并且必须与其他部分在同一命名空间或类型声明中声明。partial修饰符的出现指示其他位置可能还有类型声明的其他部分,但是这些其他部分并非必须存在;对于只具有一个声明的类型,包含partial修饰符也是有效的。
分部类型的所有部分必须一起编译,以便这些部分可在编译时合并为单个类型声明。特别指出的是,分部类型不允许对已经编译的类型进行扩展。
可使用partial修饰符在多个部分中声明嵌套类型。通常,其包含类型也使用partial声明,并且嵌套类型的每个部分均在该包含类型的不同部分中声明。
不允许使用partial修饰符声明委托或枚举。
using System;
using System.Collections.Generic;
using System.Text;
namespace _089_部分类
{
partial class Person
{
private string _name;
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace _089_部分类
{
partial class Person
{
public void Test()
{
//_name;
}
}
}