zoukankan      html  css  js  c++  java
  • 委托Delegate,多播委托和委托链

    定义一个委托
    public delegate void CalculateDelegate(int 32 x,int 32 y);
    定义一个委托类型的变量
    public static CalculateDelegate mydelegate;
    定义一个方法和委托绑定,注意定义的方法和委托的参数要统一
    public static void Add(int 32 x,int 32 y)
    {
        console.writeline(x+y);
    }
    将方法和委托绑定
    public static void main()
    {
        mydelegate = new CalculateDelegate (Add);
        mydelegate (100,200);
    }
    可以理解为:定义了一个方法,这个方法和定义的委托一定要有相同的参数,然后将方法作为一个参数传给CalculateDelegate 委托,mydelegate 现在存的应该是指向Add方法的一个引用,用mydelegate (100,200);可以回调Add方法。
     
    可以将多个方法同时绑定到一个委托中,这样,当调用一个委托时,可以同时调用多个方法,这叫多播委托。
    多个方法绑定到一个委托变量中就形成一个委托链。
    public static void main()
    {
        mydelegate = new CalculateDelegate (Add);
        mydelegate += new CalculateDelegate (Multiply);
        mydelegate += new CalculateDelegate (Substract);
        mydelegate (100,200);
     
        mydelegate -= new CalculateDelegate (Add);
        mydelegate (100,200);
    }
  • 相关阅读:
    CSSText属性批量修改样式
    JS 学习(四)对象
    JS 学习(三)DOM
    JS语法(二)
    JS学习笔记(一)
    CSS3属性transition
    动画期间响应事件
    仿淘宝详情转场
    HTML 滚动标签<marquee>
    Oracle MySQL Server 安全漏洞
  • 原文地址:https://www.cnblogs.com/jingsheng99/p/3981389.html
Copyright © 2011-2022 走看看