簡體   English   中英

在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM