partial关键字的含义和使用

partial关键字的含义和使用

ID:8791414

大小:40.00 KB

页数:6页

时间:2018-04-07

partial关键字的含义和使用_第1页
partial关键字的含义和使用_第2页
partial关键字的含义和使用_第3页
partial关键字的含义和使用_第4页
partial关键字的含义和使用_第5页
资源描述:

《partial关键字的含义和使用》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、partial关键字   我们在开发WinForm时,经常会看到partial关键字,比如,我们新建一个WindowsForm时,后台代码自动添加如下:1 public partial class Form1 : Form2 {3     public Form1()4     {5         InitializeComponent();6     }7 }      《C#高级编程》书中说明:partial关键字允许把类、结构或接口放在多个文件中。一般情况下,一个类存储在单个文件中,但有时,多个开发人员需要访问

2、同一个类,或者某种类型的代码生成器生成了一个类的某部分,所以把类放在多个文件中是有益的。   也就是说,我们定义的一个类可以分开几个文件来存储,而各个文件都只是完成这个类的一部分功能。我们在使用这个类时,根本体会不到这个类是由几部分结合在一起共同组成的。比如我分别在两个地方定义了Box类的一部分:public partial class Box{    public Box(string newBoxName)    {        boxName = newBoxName;//在这个部分类中,并没有出现boxNam

3、e局部变量。但是却是可以使用的。    }    public void Open()    {//打开盒子        Console.WriteLine(boxName + " is opened");    }}public partial class Box{    private string boxName = string.Empty;//boxName是在这个部分类中定义的哦    public void Close()    {//关闭盒子        Console.WriteLine(boxN

4、ame + " is closed");    }};   上面的代码等同于下面的Box类:public class Box{    private string boxName = string.Empty;    public Box(string newBoxName)    {        boxName = newBoxName;    }    public void Open()    {//打开盒子        Console.WriteLine(boxName + " is opened");  

5、  }    public void Close()    {//关闭盒子        Console.WriteLine(boxName + " is closed");    }}      书中还有一段:在把部分类编译到类型中时,会合并属性、XML注释、接口、一般类型的参数属性和成员。      所以自己可以去设计一些小Demo去尝试一下。现在回到最开始的问题,为什么新建立的WinowsForm的类定义成了一个部分类。我们打开Form1.Designer.cs文件,可以看到,原来Form1的另一部分类是在这个文

6、件中设计的。这个部分类中定义了我们使用的控件、事件委托以及如Dispose方法等。因为这里面的代码都是自动生成的,因此设计成了一个部分类。OK,原来partial如此简单,就到这啦!partial关键字的含义和使用partial关键字C#2.0提供的新关键字,用来将一个class、struct或interface的定义拆分,写在不同的源文件中。每个源文件包含类定义的一部分,编译应用程序时将把所有部分组合起来。在以下几种情况下需要拆分类定义:1.处理大型项目时,使一个类分布于多个独立文件中可以让多位程序员同时对该类进行处

7、理。2.使用自动生成的源时,无需重新创建源文件便可将代码添加到类中。VisualStudio在创建Windows窗体、Web服务包装代码等时都使用此方法。无需编辑VisualStudio所创建的文件,便可创建使用这些类的代码。用法如下:[modifiers]partialtypemodifier包括abstractnewoverridevirtualstaticextern和四个访问修饰符(publicprivateprotectedinternal)其中的一个。Type包括classstructinterface其中

8、的一个。看下面的定义:publicpartialclassEmployee...{publicvoidDoWork()...{}}publicpartialclassEmployee...{publicvoidGoToLunch()...{}}以上代码定义了一个类Employee,该类有两个方法DoWork()和GoToLunch

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

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

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