十五.事件委托的实现

事件委托:

       委托就是一种引用方法的类型。

一旦为委托分配了方法,委托将与该方法具有完全相同的行为。

委托方法的使用可以像其他任何方法一样,具有参数和返回值。

委托可以看作是对函数的抽象,是函数的“类”,委托的实例将代表一个具体的函数。

 

       一个委托可以搭载多个方法,所有方法被一次唤起。

       委托对象所搭载的方法并不需要属于同一个类。

       委托对象所搭载的方法必须有相同的原型和形式,即相同的参数类表和返回类型。

 

Demo

       //声明一个委托,叫EventHandler(事件处理程序),无参数,无返回值

       Delegate void EventHandler();

 

       classBoss : Subject

    {

       //声明一个事件Update,类型为委托EventHandler

       //声明一个EventHandler(事件处理程序)的委托事件,名称叫Update

       public event EventHandler Update;

       public void Notify()

       {

           Update();

        }

 

Pragram:

//CloseStockMarket方法通过实例化委托登记到Update中

//+=表示add_Update()

boss.Update += newEventHandler(tongshi1.CloseStockMarket);

       boss.Notify();

 

tongshi1的实体中的一个方法:

public void CloseStockMarket()

       {

           Console.WriteLine("{0} {1}关闭股票。",sub.SubjectState,name );

       }

增加参数:

       Publicdelegate void CatEventHandler(object sender,CatEventArgs args);

       Publicclass CatEventArgs:EventArgs

{     public string Name{get;set;} }

 

转载于:https://www.cnblogs.com/yaoge/archive/2010/09/01/1815237.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值