事件結束 - event return type c#




有和沒有“新”的接線事件之間的區別 (4)

在C#中,這兩行代碼有什麼區別(如果有的話)?

tmrMain.Elapsed += new ElapsedEventHandler(tmrMain_Tick);

tmrMain.Elapsed += tmrMain_Tick;

兩者似乎工作完全一樣。 當你輸入後者時,C#是否假設你是指前者?


它曾經是(.NET 1.x天)長形式是唯一的方法來做到這一點。 在這兩種情況下,您正在創建一個委託指向Program_someEvent方法。


我不認為有任何區別。 當然resharper說第一行有冗餘代碼。


我認為一個真正的方法就是看代碼生成的MSIL。趨向於一個很好的酸測試。

我有一個有趣的擔心,它可能以某種方式與GC搞砸..似乎奇怪,如果不需要這樣做,將會有所有宣布新的委託類型的開銷,你知道嗎?


是不是new XYZEventHandler要求,直到C#2003年,你被允許省略C#2005中的冗餘代碼?





delegates