需要简洁的“代表”定义

时间:2010-07-21 20:36:39

标签: c# programming-languages delegates

我需要简短描述“委托”在编程中的作用,最好用一句话。甚至更好地使用类比

7 个答案:

答案 0 :(得分:16)

答案 1 :(得分:10)

安全类型function pointer

答案 2 :(得分:10)

  

更好地使用类比

代表们就像暴力一样。如果他们还没有解决你的问题,那么你还没有用完。

好的,这个笑话是not original,所以起诉我。

现在认真。代表们就像...代表们。由此得名。现实生活中的代表是什么? 代表是代表他人行事的人。您委派工作给他们,他们执行该工作。你想交易五十股XYZ公司,你不要去交易大厅自己做,你把这项工作委托给为你做这件事的经纪人;他们是如何做到的,只要它完成你就不在乎。经纪人是你的代表;他们代表你做这项工作。

委托是一个对象,表示按需工作的能力。您创建一个执行特定工作的委托,当您希望完成工作时,您要求您的代表为您执行此操作。

答案 3 :(得分:6)

委托将方法包装到类型安全对象引用中,就像啤酒开瓶器将方法(opening beer)包装在方便工具(beer opener)中的方式一样,可以反复使用一种啤酒瓶。

为啤酒开瓶器定义了输入,certain type of bottle和力(你的手)。它是表单总是相同的动作的关键。同样地,为委托定义了输入,该输入将键,合同保存到具有特定输入(表单)的动作(显示表单)。

注意:这不是约99瓶啤酒;)

注意(2):您可以open a beer without a beer opener,就像没有委托时使用方法(甚至是它的参考)一样。它只是更加混乱而且不那么清晰,但它可以更有趣。

答案 4 :(得分:1)

我能想到的最好的比喻来自C术语,即“指向函数的指针”。

这个想法是你需要能够调用一段代码,但是你要调用的那段代码直到运行时才知道。所以你为此目的使用“委托”。

答案 5 :(得分:1)

委托是引用方法的类型。

答案 6 :(得分:1)

代表就像一个实习生,就像你说“嘿,我需要一个实习生给我一杯咖啡。”

幸运的是,你会得到一个能够执行“给我一杯咖啡”的人。例如,不同的实习生可能以不同的方式执行该任务,例如可能会用到星巴克。另一个可能会跑来跑去,直到她在建筑物的某个地方找到一个非空的咖啡壶,倒了一杯。