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);
    }
  • 相关阅读:
    音乐播放器
    滚动视图、定时器、分页控件的综合使用
    简易拼图
    IOS开发复习笔记(1)-OC基础知识
    64位matlab mex64位编译器解决方案
    LibSvm添加到Matlab
    code first 数据库无损迁移
    asp.net mvc4连接mysql
    自定义控件引用时候尺寸发生变化
    jquery 操作动态添加的元素
  • 原文地址:https://www.cnblogs.com/jingsheng99/p/3981389.html
Copyright © 2011-2022 走看看