[英]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.