什么是C#中的委托?

时间:2010-05-19 09:55:39

标签: c# delegates

我是C#的初学者,我无法理解delegate。 任何人都能为我提供一些更好的链接,我可以通过这些链接快速理解吗?

2 个答案:

答案 0 :(得分:1)

解释具有足够详细信息的代表,超出了本答案的范围。我会向你们指出一些可以帮助你理解这一点的文章。

来自MSDN ..

  

C#中的委托类似于a   C或C ++中的函数指针。用一个   委托允许程序员   封装对方法的引用   在委托对象中。代表   然后可以将对象传递给代码   可以调用引用的方法,   无需在编译时知道   将调用哪个方法。不像   C或C ++中的函数指针,   代表是面向对象的,   类型安全,安全。

委托声明定义了一种类型,该类型使用一组特定的参数和返回类型封装了一个方法。对于静态方法,委托对象封装要调用的方法。对于实例方法,委托对象封装实例上的实例和方法。如果您有一个委托对象和一组适当的参数,则可以使用参数调用该委托。

  

一个有趣且有用的属性   代表是它不知道或   关心对象的类   它引用了。任何对象都会   做;重要的是,   方法的参数类型和返回   type匹配委托。这使得   代表完全适合   “匿名”调用。

答案 1 :(得分:1)

您是否已查看MSDN:

delegate

  

委托声明定义了一种引用类型,可用于封装具有特定签名的方法。委托实例封装静态或实例方法。委托与C ++中的函数指针大致相似;但是,代表们是类型安全且安全的。

An Introduction to Delegates,其中第一句话说明:

  

回调函数无疑是有史以来最有用的编程机制之一。

所以,如果你熟悉回调,你已经对代表有了一些了解。