什么是代表以及何时使用它?

时间:2011-05-18 04:43:33

标签: c# design-patterns delegates

我在Google上搜索过但是找不到代表是什么以及何时使用代理?任何人都可以用一个例子来解释我吗?

4 个答案:

答案 0 :(得分:2)

委托有点像回调,但它允许您注册多个回调操作。

也许一个例子更容易:你有一个OnClick委托。默认情况下,没有任何反应但是你可以注册1或2或N个回调,这些回调将全部接收OnClick事件。

答案 1 :(得分:2)

答案 2 :(得分:1)

委托是与委托设计模式相关的概念。让我指出wiki链接,以便你可以从那里接管研究。

http://en.wikipedia.org/wiki/Delegation_pattern

答案 3 :(得分:1)

简单来说,一个委托就像一个分配给一个变量的函数(我不确定这是不是真的发生了什么,但它有助于像这样思考它)。如果你用C ++编程,它就像一个函数的地址或GetProcAddress()的返回值,但具有更多的功能和类型安全。

您可以像常规函数一样调用委托,将其作为函数参数传递(如常规变量),也可以为null。谷歌它(或访问其他海报的链接),有很多关于代表的材料。