簡體   English   中英

在C#中附加\\分離事件處理程序的不同方法有什么區別?

[英]What is the difference between different ways of attaching\detaching event handlers in C#

我的問題分為兩部分 -

首先,我們可以通過以下兩種方式附加事件處理程序 -

myObject.MyEvent += new EventHandler(MyHandler);

myObject.MyEvent += MyHandler;

根據我的理解,這兩個是等價的。 在第二種情況下,C#編譯器完成從指定方法組的適當重載創建委托實例的工作。 這個對嗎?

其次,拆分處理程序的兩種相應樣式之間有什么區別嗎? 如果是,那么它是什么?

 myObject.MyEvent -= new EventHandler(MyHandler);

 myObject.MyEvent -= MyHandler;

它們是相同的,除非你在c#1.2中只有第一個編譯。

正如您所提到的,生成的IL代碼沒有區別。 C#編譯器仍然創建一個處理程序。

在刪除中也沒有區別。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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