[英]What does equating an EventHandler type var to a delegate mean in C#?
[英]What is the += / -= mean in a delegate data structure in c#?
如果我有此代码:
genetic = new Genetic();
genetic.foundNewBestGroupTour += new Genetico.NewBestGroupTourEventHandler(genetico_foundNewBestGroupTour);
+=
是什么?
genetic.foundNewBestGroupTour -= new Genetico.NewBestGroupTourEventHandler(genetico_foundNewBestGroupTour);
-=
做什么?
阅读事件 。
在这种情况下, +=
运算符调用事件add
访问器,而-=
调用remove
访问器。 这通常称为订阅和取消订阅事件。
实现事件的通常方法是拥有一个支持多播委托的后备字段,在这种情况下,该类型为Genetico.NewBestGroupTourEventHandler
。 提到的访问器在此多播委托字段的“调用列表”中添加和删除。
它用于订阅/取消订阅(绑定/取消绑定)事件。
genetic.foundNewBestGroupTour += genetico_foundNewBestGroupTour
订阅(绑定)的事件处理程序,以便该方法genetico_foundNewBestGroupTour
每当将被称为foundNewBestGroupTour
事件上引发genetic
。
genetic.foundNewBestGroupTour -= genetico_foundNewBestGroupTour;
取消订阅(取消绑定)处理程序。 执行该代码后,该方法genetico_foundNewBestGroupTour
将不再当被叫foundNewBestGroupTour
上引发事件genetic
。
进一步阅读
它们是用于添加和删除事件的编译器简写。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.