c#-10 V2.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c#-10 V2.ppt

事件 什么是事件? C#中的事件是通过委托来实现的,事件是特殊化的委托,委托是事件的基础。 实际上事件 Event 就是一个回调 CallBack 的函数指针 Function Pointer 委托和事件搭配使用 事件 事件的使用 事件的声明 [修饰符] event 委托名 事件名; 事件的预订和取消 事件的预订就是向委托的调用列表中添加方法。 通过+ 运算符实现 事件名 + new 委托名 方法名 事件被触发,预订的方法就会被调用。 事件的撤销:- Form的Load事件 Step1: 构建方法 private void Demo1_Load object sender, EventArgs e //方法体 Step2: 构建委托 public delegate void EventHandler Object sender, EventArgs e ; Step3: 构建事件 public event EventHandler Load; Step4: 实例化事件 this.Load + new System.EventHandler this.Demo1_Load ; 委托是一个类,当你对它实例化时,要提供一个引用函数,将其作为它构造函数的参数。 委托是一个可以对方法进行引用的类。与其他的类不同,委托类具有一个签名,并且它只能对与其签名匹配的方法进行引用。这样,委托就等效于一个类型安全函数指针或一个回调 C#中的委托和指针不一样,指针不通过MSIL而是直接和内存打交道,这也是指针不安全的原因所在,当然也是采用指针能够提高程序运行速度的缘故;委托不与内存打交道,而是把这一工作交给CLR去完成。CLR无法阻止将不安全的代码调用到本机(非托管)代码中或执行恶意操作。然而当代码是类型安全时,CLR的安全性强制机制确保代码不会访问本机代码,除非它有访问本机代码的权限。 * 某人有三子,让他们各自带一样东西出门,并带回一头猎物。 可以理解为一种父亲对儿子的委托: 猎物? 办法 工具 某工具 三个人执行委托的方法各不相同 兔子 打猎 工具 弓 野鸡 买 工具 钱 狼 诱捕 工具 陷阱 委托的好处: 1.相当于用方法作为另一方法参数 类似于C的函数指针 2.在两个不能直接调用的方法中作为桥梁,如:在多线程中的跨线程的方法调用就得用委托 3.当不知道方法具体实现什么时使用委托,如:事件中使用委托 * 当接口只包含一个方法,委托只需叠加一个方法时,两者的作用是一样的。即使在这种场景下,我们也要明确,接口是针对类,委托是针对方法或某个地方发生了某件事,这样就自然会合理运用了。比如说FrameWork类库中,很多类实现了ICloneable接口,很多控件有OnClick事件。 * Edit 0421 李帅 类 class 或结构 struct 如果不是在其它类或结构中的话,它的访问类型要不就是internal, 要不就是public; 换句话说,如果它在其它类或结构中的话,则可以为private 或protected等。下面我说的类和结构,如无特殊说明,均指非类中类 类或结构的默认访问类型是internal. 类中所有的成员,默认均为private 接口默认访问符是internal 接口的成员默认访问修饰符是public,也不可能是其他访问修饰符 命名空间,枚举类型成员默认public,也不可能是其他访问修饰符 委托,默认internal 在命名空间内部或编译单元顶部的所有类型,默认是internal,可以人为改为public * * * * 第十章——委托和事件 河北师范大学软件学院——李帅 内容概要 委托的概念 委托的使用 事件的概念 事件的使用 内容概要 委托的概念 委托的使用 事件的概念 事件的使用 委托 什么是委托? 委托是一种引用方法的类型,一旦为委托分配了方法,委托将与该方法具有完全相同的行为。委托方法的使用可以像其他任何方法一样,具有参数和返回值。 A delegate declaration defines a reference type that can be used to encapsulate a method with a specific signature. A delegate instance encapsulates a static or an instance method. Delegates are roughly similar to function pointer in C++;however, delegates are type-safe and secure. MSDN 委托 什么是委托? 委托是方法的封装,它代表同一类方法。该类方法都

文档评论(0)

xinshengwencai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档