欢迎来到天天文库
浏览记录
ID:32398526
大小:40.33 KB
页数:6页
时间:2019-02-04
《c#partial关键字详解》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、C#partial关键字详解partial关键字允许把类、结构或接口放在多个文件中。一般情况下,一个类存储在单个文件中。但有时,多个开发人员需要访问同一个类,或者某种类型的代码生成器生成了一个类的某部分,所以把类放在多个文件中是有益的。partial关键字的用法是:把partial关键字放在class,struct或interface关键字前面。我在下面用几个例子作说明:含有三个类文件:PartialClassPart1.cs,PartialClassPart2.cs,Program.cs,两个部分类分别置于前面两个类文件中,各有一个方法。【PartialC
2、lassPart1.cs】usingSystem;namespacePartialClass{ partialclasspartialClass { publicvoidMethod1() { Console.WriteLine("PartialClassPart1-partialClass-Method1"); } }}【PartialClassPart2.cs】usingSystem;namespacePartialClass{ partialclasspartialClass
3、{ publicvoidMethod2() { Console.WriteLine("PartialClassPart2-partialClass-Method2"); } }}代码执行类【Program.cs】usingSystem;namespacePartialClass{ classProgram { staticvoidMain(string[]args) { partialClassPc=newpartialClass();
4、 Pc.Method1(); Pc.Method2(); Console.ReadKey(); } }}结果:可能有人会想Method1和Method2可不可以名字相同?你觉得能相同吗?呵呵!另外一个例子://BigClassPart1.cs[CustomAttribute]partialclassTheBigClass:TheBigBaseClass,IBigClass{ publicvoidMethod1(){};}//BigClassPart2.cs[AnotherAtt
5、ribute]partialclassTheBigClass:IOtherBigClass{ publicvoidMethod2(){};}编译后的结果:[CustomAttribute][AnotherAttribute]partialclassTheBigClass:TheBigBaseClass,IBigClass,IOtherBigClass{ publicvoidMethod1(){}; publicvoidMethod2(){};}-------------------------------
6、-------------------------------------------------------------------------------------------------------注意点,总结:如果声明类使用了下面的关键字,这些关键字将应用于同一个类的所有部分:public,private,protected,internal,abstract,sealed,new,一般约束。在嵌套的类型中,只要partial关键字位于class关键字的前面,就可以嵌套不分类。在把部分类编译到类型中时,会合并属性,XML注释,接口,泛型类型的参数属
7、性和成员。 partial关键字的作用是将你的class分为多个部分,编译器会将多个部分拼到一起去。publicpartialclassSampleClass...{publicvoidMethodA()...{}} publicpartialclassSampleClass...{publicvoidMethodB()...{}}和publicclassSampleClass...{publicvoidMethodA()...{}publicvoidMethodB()...{}}是等价的。我猜想这个东西出现的初衷是为了解决掉:“窗体设计器生成的代码”这个令
8、人讨厌的region。对我们来说,在团队开发当中这个
此文档下载收益归作者所有