定义一个委托
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);
}

委托Delegate,多播委托和委托链的更多相关文章

  1. [.NET] C# 知识回顾 - 委托 delegate (续)

    C# 知识回顾 - 委托 delegate (续) [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6046171.html 序 上篇<C# 知识回 ...

  2. 委托delegate

    委托delegate没有函数体.委托可以指向函数(要与指向的函数格式.类型相一致) namespace demo { public delegate double MyDelegate(double ...

  3. 链方法[C# 基础知识系列]专题三:如何用委托包装多个方法——委托链

    最近研究链方法,稍微总结一下,以后继续补充: 弁言: 上一专题分析了下编译器是如何来翻译委托的,从中间语言的角度去看委托,希望可以帮助大家进一步的理解委托,然而之前的分析都是委托只是封装一个方法,那委 ...

  4. [C# 基础知识系列]专题三:如何用委托包装多个方法——委托链 (转载)

    引言: 上一专题介绍了下编译器是如何来翻译委托的,从中间语言的角度去看委托,希望可以帮助大家进一步的理解委托,然而之前的介绍都是委托只是封装一个方法,那委托能不能封装多个方法呢?因为生活中经常会听到, ...

  5. [C#] C# 知识回顾 - 委托 delegate

    C# 知识回顾 - 委托 delegate [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6031892.html 目录 What's 委托 委托的属性 ...

  6. 【C#】委托-Delegate

    C# 委托(Delegate) C# 中的委托(Delegate)类似于 C 或 C++ 中函数的指针.委托(Delegate) 是存有对某个方法的引用的一种引用类型变量.引用可在运行时被改变. 委托 ...

  7. CLR via C#(12)-委托Delegate

    本来按照进度应该学习事件了,可总觉得应该委托在前,事件在后,才好理解. 委托是一个类,它提供了回调函数机制,而且是类型安全的.使用委托可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数 ...

  8. C# 代理/委托 Delegate

    本文转载自努力,努力,努力 1. 委托的定义:委托是函数的封装,它代表一"类"函数.他们都符合一定的签名:拥有相同的参数列表,返回值类型.同时,委托也可以看成是对函数的抽象,是函数 ...

  9. 深入理解委托(Delegate)

    前言 委托其实一直以来都感觉自己应该挺熟悉的,直到最近又去翻了翻 CLR via C#,感觉我之前的理解可能还有失偏颇.在这记录一下. 之前文章的链接: 接口和委托的泛型可变性 C#高级编程笔记 De ...

  10. .Net 委托 delegate 学习

    一.什么是委托: 委托是寻址方法的.NET版本,使用委托可以将方法作为参数进行传递.委托是一种特殊类型的对象,其特殊之处在于委托中包含的只是一个活多个方法的地址,而不是数据.   二.使用委托: 关键 ...

随机推荐

  1. IntelliJ IDEA 14和Maven创建java web项目

    安装Maven 下载安装 去maven官网下载最新版. 解压到安装目录. 配置 右键桌面的计算机图标,属性–>高级系统设置–>环境变量,添加M2_HOME的环境变量,然后将该变量加入的PA ...

  2. 用unity3d+cardboard开发一个全景图片查看器

    一.建立全景播放场景: 建立一个unity项目,并建立videoplay场景,在场景中拖入一个球体,将全景照片拉到球体上,自动形成material和texture. 二.创建一个新的表面着色器,并修改 ...

  3. 十八、AWT绘图技术

    1.Graphics 实现各类图形.文本和图片的绘制操作. 2.绘图颜色和笔画属性 (1)颜色属性 Color col= new Color(int r,int g,int b) Color col ...

  4. unity4.6学习Ugui中文文档-------参考-UGUI Rect Transform

    1 . Rect Transform Rect Transform 是 2D 与 3D 图形的 Transform 组件对应.它用来指定用户界面系统中的大小. 位置和旋转的控件 Properties ...

  5. Maven学习(一) -- 安装Maven及Eclipse中配置Maven

    标签(空格分隔): 学习笔记 本文环境:Windows7, JDK1.7.0_76 安装及配置Maven环境变量 需要电脑中已经有Java环境 在控制台中输入:echo %JAVA_HOME%看是否能 ...

  6. C语言位操作(转)

    http://www.cnblogs.com/cpoint/category/524132.html  

  7. Redis - 发布和订阅

    一.概述 1). 发布和订阅是一种消息通信模式. 2). 优点:使消息订阅者和消息发布者耦合度降低,类似设计模式中的观察者模式. 二.发布和订阅 订阅命令: // 订阅一个或多个频道 // 返回值:v ...

  8. iOS - C 基本语法

    1.数据类型 2.常量 1)凡是整数数字常量一律是 int 型. 2)typedef 和 define. typedef 定义类型, #define 只是字符串替换. 3)在编写整形常量时,可以在常量 ...

  9. 《K&R》里贯穿全书的代码

    个人阅读<K&R>的感觉就是:前后内容联系特别紧密,前面的代码没有理解好到了后面就看不下去. 1.getline(char s[], int lim) 调用结果:往参数数组中读入字 ...

  10. POSTGRESQL 数据库导入导出

    导入整个数据库 psql -U postgres(用户名)  数据库名(缺省时同用户名) < /data/dum.sql   导出整个数据库 pg_dump -h localhost -U po ...