时间:2010-07-23 20:06:37

标签: c# events delegates

7 个答案:

答案 0 :(得分:13)

委托基本上是一个方法指针。委托让我们创建一个引用变量,但它不是引用类的实例,而是引用类中的一个Method。它引用任何具有返回类型且具有与该委托指定的参数相同的参数的方法。这是Event非常有用的方面。

活动只是我们计划中发生的事情。一旦发生,订阅该事件的对象就会响应该事件。在现实世界的例子中,它简单易懂。 我会举一个Cricket的例子。让我们将击球作为一项赛事。因此,一旦球被击球手击中,Fielder就会向它跑去,Umpire跟踪球,以及击球手一直关注球的位置。观众已准备好大喊大叫。 因此,击球是一个事件。 Batsman,Umpire,Fielder和Audience是响应该事件的对象。事件完全不知道谁会回应它以及以何种方式。响应的对象需要首先订阅该事件,然后在事件被触发后,他们会得到通知,并且可以以他们想要的任何方式处理该事件,例如我们的Fielder,Umpire,Audience,Batsman以他们自己的方式执行。在dotnet中,它们通过使用事件处理程序来处理事件。这只是与现实世界场景相关的简要描述。 如需进一步阅读并有一个很好的理解,请阅读O'Reilly的 Head First C#中的主题。它真实地解释了这些与现实世界的例子有关的主题。一旦你完成它,你将能够抓住它并牢记它。 希望它有所帮助:)

答案 1 :(得分:2)

答案 2 :(得分:0)

答案 3 :(得分:0)

答案 4 :(得分:0)

答案 5 :(得分:0)

答案 6 :(得分:0)

这是Jon Skeet关于这个主题的精彩文章,我建议也购买他的书的副本。

Delegates and Events.