2011-04-22 85 views
1

這兩條語句有什麼區別?事件EventHandler之間的區別<T> vs EventHandler <T>

private static event EventHandler<MyEventArg> MyNewEvent; 
private static EventHandler<MyEventArg> MyNewEvent; 

它們似乎都表現相同。我正在使用.net 3.5。有沒有其他的方法來定義這個功能,使它們在功能上是一致的?

回答

2

區別在於您只能從聲明它的類調用事件。

事件就像自動屬性。對於編譯器創建的每個事件:

  1. 基礎私人委託。
  2. add公共方法。
  3. remove公共方法。

當其他職業確實+=它被轉換爲致電add。由於委託是私有的,因此不能從其他類中調用,並且不可能自由地獲取/更改調用列表。

相關問題