委托
1.概念:委托是函数的封装,它代表一“类”函数。它们都符合一定的签名:拥有相同的参数列表、返回值类型。同时,委托也可以看成是对
函数的抽象,是函数的“类”。
2.语法:<modifiers> delegate <return_type> <delegate_name> ( argument_list )
3.用法:
(1.声明委托,比如:public delegate void Del(string str);
(2.实例化委托并指向其代的方法,比如:Del handler = new Del(Mothod),注意这里的Mothod的方法签名必须和委托声明的签名一致
。
(3.调用委托:handler("Hello World!");
多播委托
1.概念:包含多个方法的委托叫做“多播委托”。
2.如果调用多播委托,就可以按顺序连续调用多个方法。为此,委托的签名就必须返回void;否则就只能得到委托调用的最后一个方法的结果
。
3.添加和删除委托中的方法使用+=和-=操作,其实它们分别调用了Delegate.Combine和Delegate.Remove方法,例如:
Del handler = new Del(Mothod1);
handler += Mothod2;