欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    partial关键字的含义和使用(5页).doc

    • 资源ID:35416814       资源大小:286.50KB        全文页数:5页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    partial关键字的含义和使用(5页).doc

    -partial关键字的含义和使用-第 5 页partial关键字     我们在开发WinForm时,经常会看到partial关键字,比如,我们新建一个Windows Form时,后台代码自动添加如下:1 public partial class Form1 : Form2 3     public Form1()4     5         InitializeComponent();6     7         C#高级编程书中说明:partial关键字允许把类、结构或接口放在多个文件中。一般情况下,一个类存储在单个文件中,但有时,多个开发人员需要访问同一个类,或者某种类型的代码生成器生成了一个类的某部分,所以把类放在多个文件中是有益的。    也就是说,我们定义的一个类可以分开几个文件来存储,而各个文件都只是完成这个类的一部分功能。我们在使用这个类时,根本体会不到这个类是由几部分结合在一起共同组成的。比如我分别在两个地方定义了Box类的一部分:public partial class Box    public Box(string newBoxName)            boxName = newBoxName;/在这个部分类中,并没有出现boxName局部变量。但是却是可以使用的。        public void Open()    /打开盒子        Console.WriteLine(boxName + " is opened");    public partial class Box    private string boxName = string.Empty;/boxName是在这个部分类中定义的哦    public void Close()    /关闭盒子        Console.WriteLine(boxName + " 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");        public void Close()    /关闭盒子        Console.WriteLine(boxName + " is closed");            书中还有一段:在把部分类编译到类型中时,会合并属性、XML注释、接口、一般类型的参数属性和成员。        所以自己可以去设计一些小Demo去尝试一下。现在回到最开始的问题,为什么新建立的Winows Form的类定义成了一个部分类。我们打开Form1.Designer.cs文件,可以看到,原来Form1的另一部分类是在这个文件中设计的。这个部分类中定义了我们使用的控件、事件委托以及如Dispose方法等。因为这里面的代码都是自动生成的,因此设计成了一个部分类。OK,原来partial如此简单,就到这啦!partial关键字的含义和使用 partial关键字 C#2.0提供的新关键字,用来将一个class、struct或interface的定义拆分,写在不同的源文件中。每个源文件包含类定义的一部分,编译应用程序时将把所有部分组合起来。在以下几种情况下需要拆分类定义: 1.处理大型项目时,使一个类分布于多个独立文件中可以让多位程序员同时对该类进行处理。 2.使用自动生成的源时,无需重新创建源文件便可将代码添加到类中。Visual Studio 在创建 Windows 窗体、Web 服务包装代码等时都使用此方法。无需编辑 Visual Studio 所创建的文件,便可创建使用这些类的代码。 用法如下: modifiers partial type modifier包括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 GoToLunch() 以上代码定义了一个类Employee,该类有两个方法DoWork()和GoToLunch(),你完全可以把以上代码看作是: 而实际上编译器在编译时也是这么合并的。编译器在编译时会把一个partial类所有的信息放到一起,我们可以再来扩充一下。假如我们已经定义好了两个接口:我们的类定义如下: 这在开发分布式系统时是很有必要的,多个程序员只要分别开发自己的一部分就可以了。public class Employee public void DoWork() public void GoToLunch()interface IDoSomeThing void DoWork(); 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.ObsoleteAttribute public void GoToLunch() public void GoToSupper()于是,在编译时编译器就把以上合并为一个类:public class Employee : IDoSomeThing, IGoToDinner public void DoWork() public void DoPlay() public void GoToBreakfast() System.ObsoleteAttribute public void GoToLunch() public void GoToSupper()其中有几点需要注意:1. 要作为同一类型的各个部分的所有分部类型定义都必须使用 partial 进行修饰。下面这样就错误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. 类名和泛型类型参数在所有的分部类型定义中都必须匹配。泛型类型可以是分部的。每个分部声明都必须以相同的顺序使用相同的参数名。

    注意事项

    本文(partial关键字的含义和使用(5页).doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开