c#委托与事件

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

委托和事件1.1委托介绍定义委托是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。委托方法的使用可以像其他任何方法一样,具有参数和返回值委托是函数的封装,它代表一“类”函数。它们都符合一定的签名:拥有相同的参数列表、返回值类型。同时,委托也可以看成是对函数的抽象,是函数的“类”。此时,委托的实例将代表一个具体的函数。1.2委托举例委托同学去购买火车票委托同学去餐厅买饭委托律师代理打官司委托同学替答道...................1.3声明委托关键字delegate可用于声明委托。声明委托的通用形式如下图所示。举例:delegateret-typename(parameter-list);关键字返回值类型委托名称参数列表注意:1委托名称的命名要符合Pascal命名法,一般以Delegate结尾2委托的参数和返回类型,都要和你要具体委托的方法要一致publicdelegatevoidBugTicketDelegate();1.4创建委托因为委托是一个类,所以用new关键字创建委托的实例。委托构造函数只有一个参数,即添加到该委托中的第一个方法。其常用格式如下图(左)所示。AClassac1=newAClass(abc);声明的委托关键字委托的方法AClassac1=abc;声明的委托委托的方法一其中,AClass表示需要实例化类(委托)的名称。ac1表示实例化对象。abc表示要引用的函数。new是关键字。二委托的实例化还有一种不需要关键字new的方法。其格式如上图(右)所示。三与常用格式不同的是没有关键字new,其他都相同。1.5多播委托举例:你委托你的好朋友去给你买火车票了,买过火车票后,你又给他说,中午回到寝室,你帮我稍一份饭吧!定义引用多个方法的委托,它连续调用每个方法。委托必须是同类型的,返回值类型一般是void,(如果有返回值,只获取最后一次执行的函数的返回值)。多播委托应用于事件模型中。注:多播委托中,委托了多个方法,做了多件事情1.6多播委托的类2.1事件抢答者宣布人抢答者“请听题~”集中注意力聆听其他人事件源事件的发布者事件的订阅人未订阅该事件•定义事件•为对象订阅该事件•将发生的事件通知给订阅人82.2定义事件[访问修饰符]event委托名事件名;语法publicdelegatevoiddelegateMe();privateeventdelegateMeeventMe;9定义事件是操作发生时允许执行特定应用程序的代码的机制2.3事件的操作步骤第一步:在一个类里面声明关于事件的委托publicdelegatevoid事件类型的名称();第二步:在类中声明事件,使用步骤一的delegate作为事件的类型publicevent事件类型名称事件名;2.3事件的操作步骤if(condition){eventMe();}第三步:在类里面需要引入事件的方法,编写引发事件的方法调用订阅特定事件的对象的所有委托2.3事件的操作步骤第四步:订阅事件事件名称+=new委托名称(事件处理的方法名称)eventMe+=newdelegateMe(objA.Method);eventMe+=newdelegateMe(objB.Method);2.3事件的操作步骤第五步:编写事件的处理方法Publicvoid事件处理的方法名称(){//方法体}第六步:在适当的条件下触发事件,即需要调用第三步中的引发事件的方法总结14知识点:1委托的定义,委托的声明,创建委托,多播委托2事件的概念,语法形式,操作步骤等重难点:1多播委托的理解和使用2事件的操作过程

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功