【转】委托类(delegate)

委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。

委托是一个引用类型,所以它具有引用类型所具有的通性。它保存的不是实际值,而是保存对存储在托管堆(managed heap)中的对象的引用。那它保存的是对什么的引用呢?委托保存的是对函数(function)的引用。

在C#中使用delegate关键字定义委托,然后使用我们熟悉的函数调用的语法来调用委托。

委托是事件的基础。

委托类似于 C++ 中的函数指针;但是,委托是类型安全和可靠的。

委托允许将方法作为参数进行传递。

委托可用于定义回调方法。

委托可以链接在一起;例如,可以对一个事件调用多个方法。

方法不需要与委托签名精确匹配。

定义和使用委托分三个步骤:声明、实例化和调用

posted @ 2011-07-16 10:38  Jamie  阅读(339)  评论(0编辑  收藏  举报