zoukankan      html  css  js  c++  java
  • 十五.事件委托的实现

    事件委托:

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

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

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

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

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

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

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

    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;} }

  • 相关阅读:
    使用多线程生产者消费者模式实现抓斗图
    selenium+chrome抓取淘宝搜索抓娃娃关键页面
    mysql必知必会
    mongoDB高级查询$type4array使用解析
    并发服务器几种实现方法总结
    python的面向对象和面向过程
    lazarus,synedit输入小键盘特殊符号的补丁
    Delphi中静态方法重载还是覆盖的讨论
    python全栈开发_day4_if,while和for
    python全栈开发_day3_数据类型,输入输出及运算符
  • 原文地址:https://www.cnblogs.com/yaoge/p/1815237.html
Copyright © 2011-2022 走看看