如果我有这段代码:
genetic = new Genetic();
genetic.foundNewBestGroupTour += new Genetico.NewBestGroupTourEventHandler(genetico_foundNewBestGroupTour);
+=
做了什么?
genetic.foundNewBestGroupTour -= new Genetico.NewBestGroupTourEventHandler(genetico_foundNewBestGroupTour);
-=
做了什么?
答案 0 :(得分:5)
阅读events。
此上下文中的+=
运算符调用事件add
访问者,而-=
调用remove
访问者。这通常称为订阅和取消订阅。
实现事件的常用方法是拥有一个包含多播委托的支持字段,在这种情况下类型为Genetico.NewBestGroupTourEventHandler
。提到的访问器在此多播委托字段的“调用列表”中添加和删除。
答案 1 :(得分:1)
它用于订阅/取消订阅(绑定/取消绑定)事件。
genetic.foundNewBestGroupTour += genetico_foundNewBestGroupTour
订阅(绑定)事件处理程序,以便在genetico_foundNewBestGroupTour
上引发foundNewBestGroupTour
事件时调用方法genetic
。
genetic.foundNewBestGroupTour -= genetico_foundNewBestGroupTour;
取消订阅(取消绑定)处理程序。执行此代码后,在genetico_foundNewBestGroupTour
上引发foundNewBestGroupTour
事件时,将不再调用方法genetic
。
进一步阅读
答案 2 :(得分:0)
它们是添加和删除事件的编译器简写。