委托事件ppt课件_第1页
委托事件ppt课件_第2页
委托事件ppt课件_第3页
委托事件ppt课件_第4页
委托事件ppt课件_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、委托和事件1;委托Delegate (1)想象成C+中的函数指针,但不同点在与delegate完全面向对象的既封装方法又封装对象实例定义一个委托实际上是定义一个类型的委托,不是一个具体的实例。委托类型指定它代表的方法的返回类型和参数表它代表具有相同参数列表和返回类型的任何方法。2;委托Delegate (2)委托的声明方式和方法的声明类似,包括的是delegate关键字声明中必须包括委托所表示的方法的返回类型返回类型和参数列表参数列表 delegate (argument_list)例:public delegate bool ProcessAnything(double d)创建委托实例ne

2、w关键字例:ProcessAnything pa = newProcessAnything(account.Withdraw);括号里面是实例方法,此方法必须和代理声明时的返回类型和参数列表相同。3;委托Delegate (3)委托的调用时通过输入委托实例的名称和要传递委托所表示的方法的参数。委托分为:1、一般委托2、多播委托4;委托Delegate (4)多播委托引用多个方法的委托,它连续调用每个方法。 为了把委托的单个实例合并为一个多播委托,委托必须是同类型同类型的,返回类型必须是void,不能带输出参数(可以带引用参数)。多播委托应用于事件模型中。5;事件Event (1)C#中使用委托

3、模型来实现事件。事件处理方法不必在将生成事件的类中定义需要做的事情就是把事件源和事件处理程序结合起来。使用事件处理委托事件处理委托,简称事件委托事件委托,可以定义为生成事件的类的一个成员事件委托是多播的。6;事件Event (2)事件委托的形式:.NET Framework定义了大量的事件处理委托 public delegate void MouseEventHandler(object source,EventArgs e); object source:它指向事件源 EventArgs:System.EventArgs类的实例或派生类实例,它包含事件的另外的信息。7;事件Event (3)用户自定义事件委托必须自己来定义NameEventArgs类在类中定义事件成员不要用void关键字,使用 event关键字public delegate void NameEventHandler(object source,NewEventArgs e);public event NameEventHandler handler;8;事件Event (4)触发事件1、事件激发事件处理程序2、通过调用信源对象的事件成员即可。经典代码:if

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论