事件和代表困境

smr*_*iti 2 c# events delegates

我真的在理解事件和委托的概念.我知道委托是持有方法引用的对象,可以调用具有相同返回类型和参数的方法,但那么究竟是什么事件?

如果我需要使用事件来制作一个简单的计算器,那么我该如何使用它们以便有3个事件:一个可以用于数字,一个用于操作符,另一个用于相等或结果操作.

sum*_*mer 13

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

事件简直就是在我们的计划中发生的事情.一旦发生,订阅该事件的对象就会响应该事件.在现实世界的例子中,它简单易懂.我会举一个Cricket的例子.让我们将击球作为一项赛事.因此,一旦球被一个击球手击中,运行菲尔德朝它,裁判跟踪球,以及板球运动员保持一个眼睛到球.观众已准备好大喊大叫.因此,击球是一个事件.Batsman,Umpire,Fielder和Audience是响应该事件的对象.事件完全不知道谁会回应它以及以何种方式.谁应对的对象需要订阅该事件第一次,之后每当事件被激发,他们得到通知并可以处理他们会喜欢我们的守场员,审判员任何方式这种情况下,观众,击球手以自己的方式做到这一点.在dotnet中,它们通过使用事件处理程序来处理事件.这只是与现实世界场景相关的简要描述.如需进一步阅读并有一个很好的理解,请阅读主题由O'Reilly领导的第一个C#.它真实地解释了这些与现实世界的例子有关的主题.一旦你完成它,你将能够抓住它并牢记它.希望能帮助到你 :)