局部类型partial标识符的使用
利用partial可以实现类的分布声明
partial class myclass { /*局部类1*/ } partial class myclass { /*局部类2*/ }
注意,要声明的局部类型的原型也必须添加partial标识符,否则会出现以下编译错误
/*Program.cs文件*/ using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 局部类型 { class Program { static void Main(string[] args) { myclass mc = new myclass(); mc.I = 1; mc.J = 2; Console.WriteLine(mc.I+mc.J); } } partial class myclass//局部类型第一部分声明 { int i; public int I { get { return i; } set { i = value; } } } }
/*附加文件class1.cs*/ using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 局部类型 { partial class myclass//局部类型第二部分声明 { int j; public int J { get { return j; } set { j = value; } } } }
则可见,在分布于2个文件中的局部类型,可以在main()中声明调用为一个完整的对象,可以利用类型观察器来查看类型
注意:partial类型声明,还可以继承基类,实现接口,但是所继承的基类必须是同一个类
partial class myclass : 基类1 { } partial class myclass : 基类1 { } //由于一下的局部类声明继承于不同的类,所以编译不通过 partial class myclass : 基类2 { }
但是可以用于实现接口,来补充局部类型
partial class myclass { } partial class myclass : I接口 { /*实现接口方法*/ }