委托
1.为什么要用委托?
委托可以给某个对象绑定事件,首先事件是必须存在的,但是我们并不知道这个事件是给谁工作的,所以我们需要委托这个 中间人来给对象和事件牵线
2.委托的定义
[访问修饰符] delegate 返回类型 委托名称(参数列表);
其中,返回类型可以是任意的,参数也是可以任意的,委托实际上就是一个继承自MulticastDelegate基类的一个自定义类
3.怎样给对象和事件牵线?
创建一个委托----->存在一个事件----->对象.事件属性+=委托对象(事件名称);
4.什么是多播委托?
多播委托是委托的一种特殊应用,多播委托允许将多个委托对象组成一个委托链,如:
public delegate void ReturnStr();
class Program
{
public static void Main(string[] args)
{
ReturnStr str=new ReturnStr(Function.ReturnA);
str+=new ReturnStr(Function.ReturnB);
str+=new ReturnStr(Function.ReturnC);
[
上述代码等同于下面的代码(C#2.0以后):
ReturnStr str=Function.ReturnA;
str+=Function.ReturnB;
str+=Function.ReturnC;
]
str();
Console.ReadLine();
}
}
class Function
{
public static void ReturnA(){Console.WriteLine("A");}
public static void ReturnB(){Console.WriteLine("B");}
public static void ReturnC(){Console.WriteLine("C");}
}
浙公网安备 33010602011771号