什么是+ = / - =平均在C#中的委托数据结构?(What is the += / -= m

2019-10-29 05:42发布

如果我有这样的代码:

genetic = new Genetic();
genetic.foundNewBestGroupTour += new Genetico.NewBestGroupTourEventHandler(genetico_foundNewBestGroupTour);

什么是+=吗?

genetic.foundNewBestGroupTour -= new Genetico.NewBestGroupTourEventHandler(genetico_foundNewBestGroupTour);

什么是-=吗?

Answer 1:

阅读上的事件 。

+=在这方面运营商要求的情况下add访问,而-=调用remove访问。 这通常被称为订阅取消的事件。

实现事件的通常的方法是有其保持多播委托,在这种情况下类型的支持字段Genetico.NewBestGroupTourEventHandler 。 该存取提到的添加和该多播委托场的“调用列表”中删除。



Answer 2:

它用于订阅/取消(绑定/解除绑定)一个事件。

genetic.foundNewBestGroupTour += genetico_foundNewBestGroupTour

订阅(绑定)的事件处理程序,以便该方法genetico_foundNewBestGroupTour每当将被称为foundNewBestGroupTour事件上引发genetic

genetic.foundNewBestGroupTour -= genetico_foundNewBestGroupTour;

退订(解除绑定)的处理程序。 执行该代码后,该方法genetico_foundNewBestGroupTour将不再当被叫foundNewBestGroupTour上引发事件genetic

延伸阅读

  • 如何:订阅和退订事件(C#编程指南)


Answer 3:

它们是用于添加和删除事件编译器的简写。



文章来源: What is the += / -= mean in a delegate data structure in c#?