c#partial关键字详解

c#partial关键字详解

ID:32398526

大小:40.33 KB

页数:6页

时间:2019-02-04

c#partial关键字详解_第1页
c#partial关键字详解_第2页
c#partial关键字详解_第3页
c#partial关键字详解_第4页
c#partial关键字详解_第5页
资源描述:

《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。对我们来说,在团队开发当中这个

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。