ImageVerifierCode 换一换
格式:DOC , 页数:6 ,大小:40KB ,
资源ID:10968084      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-10968084.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(partial关键字的含义和使用.doc)为本站会员(精品资料)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

partial关键字的含义和使用.doc

1、partial 关键字 我们在开发 WinForm 时,经常会看到 partial 关键字,比如,我们新建一个 Windows Form 时,后台代码自动添加如下:1 public partial class Form1 : Form2 3 public Form1()4 5 InitializeComponent();6 7 C#高级编程书中说明:partial 关键字允许把类、结构或接口放在多个文件中。一般情况下,一个类存储在单个文件中,但有时,多个开发人员需要访问同一个类,或者某种类型的代码生成器生成了一个类的某部分,所以把类放在多个文件中是有益的。也就是说,我们定义的一个类可以分开几个

2、文件来存储,而各个文件都只是完成这个类的一部分功能。我们在使用这个类时,根本体会不到这个类是由几部分结合在一起共同组成的。比如我分别在两个地方定义了 Box 类的一部分:public partial class Boxpublic Box(string newBoxName)boxName = newBoxName;/在这个部分类中,并没有出现 boxName 局部变量。但是却是可以使用的。public void Open()/打开盒子Console.WriteLine(boxName + “ is opened“);public partial class Boxprivate string

3、 boxName = string.Empty;/boxName 是在这个部分类中定义的哦public void Close()/关闭盒子Console.WriteLine(boxName + “ is closed“);上面的代码等同于下面的 Box 类:public class Boxprivate string boxName = string.Empty;public Box(string newBoxName)boxName = newBoxName;public void Open()/打开盒子Console.WriteLine(boxName + “ is opened“);pu

4、blic void Close()/关闭盒子Console.WriteLine(boxName + “ is closed“);书中还有一段:在把部分类编译到类型中时,会合并属性、XML 注释、接口、一般类型的参数属性和成员。所以自己可以去设计一些小 Demo 去尝试一下。现在回到最开始的问题,为什么新建立的 Winows Form 的类定义成了一个部分类。我们打开 Form1.Designer.cs 文件,可以看到,原来 Form1 的另一部分类是在这个文件中设计的。这个部分类中定义了我们使用的控件、事件委托以及如 Dispose 方法等。因为这里面的代码都是自动生成的,因此设计成了一个部分

5、类。OK,原来 partial 如此简单,就到这啦!partial 关键字的含义和使用 partial 关键字 C#2.0 提供的新关键字,用来将一个 class、struct 或 interface 的定义拆分,写在不同的源文件中。每个源文件包含类定义的一部分,编译应用程序时将把所有部分组合起来。在以下几种情况下需要拆分类定义:1.处理大型项目时,使一个类分布于多个独立文件中可以让多位程序员同时对该类进行处理。2.使用自动生成的源时,无需重新创建源文件便可将代码添加到类中。Visual Studio 在创建 Windows 窗体、Web 服务包装代码等时都使用此方法。无需编辑 Visual

6、Studio 所创建的文件,便可创建使用这些类的代码。用法如下: modifiers partial typemodifier 包括 abstract new override virtual static extern 和四个访问修饰符(public private protected internal)其中的一个。 Type 包括 class struct interface 其中的一个。看下面的定义:public partial class Employee.public void DoWork().public partial class Employee.public void Go

7、ToLunch().以上代码定义了一个类 Employee,该类有两个方法 DoWork()和 GoToLunch(),你完全可以把以上代码看作是: 而实际上编译器在编译时也是这么合并的。编译器在编译时会把一个 partial 类所有的信息放到一起,我们可以再来扩充一下。假如我们已经定义好了两个接口:我们的类定义如下: 这在开发分布式系统时是很有必要的,多个程序员只要分别开发自己的一部分就可以了。public class Employee.public void DoWork().public void GoToLunch().interface IDoSomeThing.void DoWor

8、k();void DoPlay();interface IGoToDinner.void GoToBreakfast();void GoToLunch();void GoToSupper();public partial class Employee : IDoSomeThing.public void DoWork().public void DoPlay().public partial class Employee : IGoToDinner.public void GoToBreakfast().System.ObsoleteAttributepublic void GoToLunch

9、().public void GoToSupper().于是,在编译时编译器就把以上合并为一个类:public class Employee : IDoSomeThing, IGoToDinner.public void DoWork().public void DoPlay().public void GoToBreakfast().System.ObsoleteAttributepublic void GoToLunch().public void GoToSupper().其中有几点需要注意:1. 要作为同一类型的各个部分的所有分部类型定义都必须使用 partial 进行修饰。下面这样就

10、错误public partial class A /public class A / Error, must also be marked partial2.partial 修饰符只能出现在紧靠关键字 class、struct 或 interface 前面的位置。3. 分部类型定义中允许使用嵌套的分部类型。当然,如果嵌套类也是 partial 类的话,同样遵守上面的规则。例如:partial class ClassWithNestedClass.partial class NestedClass . partial class ClassWithNestedClass.partial class NestedClass . 4. 要成为同一类型的各个部分的所有分部类型定义都必须在同一程序集和同一模块(.exe 或 .dll 文件)中进行定义。分部定义不能跨越多个模块。5. 类名和泛型类型参数在所有的分部类型定义中都必须匹配。泛型类型可以是分部的。每个分部声明都必须以相同的顺序使用相同的参数名。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报