小李广

学习是一个勤学苦练的过程
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

委托概念的理解

Posted on 2009-06-12 09:38  小李广  阅读(206)  评论(2编辑  收藏  举报
标签: 委托,代理

 

委托是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。委托方法的使用可以像其他任何方法一样,具有参数和返回值。

C#编程指南

一个 delegate object 一次可以搭载多个方法,而不是一次一个。当我们唤起一个搭载了多个方法的 delegate,所有方法以其“被搭载到 delegate object 的顺序”被依次唤起

 

一个 delegate object 所搭载的方法并不需要属于同一个类。一个 delegate object 所搭载的所有方法必须具有相同的原型和形式(相同的返回类型和参数列表)。然而,这些方法可以即有 static 也有 non-static,可以由一个或多个不同类的成员组成。

 

一个 delegate type 的声明在本质上是创建了一个新的 subtype instance,该 subtype 派生自 .NET library framework 的 abstract 八色 classes Delegate 或 MulticastDelegate,它们提供一组 public methods 用以询访 delegate object 或其搭载的方法。

Stanley B. Lippman

 

委托是函数的封装,它代表一“类”函数。它们都符合一定的签名:拥有相同的参数列表、返回值类型。同时,委托也可以看成是对函数的抽象,是函数的“类”。此时,委托的实例将代表一个具体的函数。

对委托的一个总结

 

如何委托

image

image