首页 > 代码库 > 委托Delegate,多播委托和委托链
委托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);
}
委托Delegate,多播委托和委托链
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。