学习了委托,看了几个例子,在这里写出自己的看法,如果有什么不正确的理解 还望您能指出。2010-12-03
顾名思义"委托" 有中介之意,也就是说通过一个中间人搭线链接头和尾,距离来说就是说比如你想进皇宫见皇帝做生意,那么你需要太监带你进去,那么“委托”就是太监,你和他不会有任何交流,只是把你自己交给他,然后他把你带进去,等你见了皇帝之后,才开始做生意。
下面是一个例子:
上例输出:输出:
Multiplying by 2: 1.23 gives 2.46
Squaring: 1.23 gives 1.5129
Squaring: 1.23 gives 1.5129
例子中可以看出,定义了委托之后,在创建委托时把方法作为委托的参数(MathsOp operation = new MathsOp( MyDelegate.MultiplyBy2 )),在引用时委托把参数传给方法执行操作(operation( x )),也就是说委托至始至终就是传递,来回传递。需要注意的是,委托的定义需要在空间namespace之内,在类class之外。上例中的委托有“-=”和“+=”运算符,这是多路广播委托,也就是说委托可以用这两个运算符来添加或移除参数,委托时可以有多个参数的,也就是说通过委托可以同时执行多个方法。
参考:http://www.cnblogs.com/michaelxu/archive/2008/03/31/1131500.html