0
我有一個具有自定義事件的控件。帶自定義事件的Asp.net控件
目前我定義它像任何其他事件
Public Event ContentChanged As EventHandler
但今天我發現了一個文章,他們不得不把它處理
Shared ReadOnly contentChangedKey As New Object()
Public Custom Event ContentChanged As EventHandler
AddHandler(value As EventHandler)
Me.Events.AddHandler(contentChangedKey, value)
End AddHandler
RemoveHandler(value As EventHandler)
Me.Events.RemoveHandler(contentChangedKey, Value)
End RemoveHandler
RaiseEvent(sender As Object, e As EventArgs)
Dim contentChangedDelegate As EventHandler = _
Me.Events(contentChangedKey)
contentChangedDelegate(sender, e)
End RaiseEvent
End Event
第二種方式是完全不同的方式似乎過於複雜是什麼這樣做第一個例子不?
好,但me.Events做任何事情特別的嗎?如果我正確,我可以使用[委託] .Combine和[委託]。刪除並有一個私人的EventHandler? – Peter
我還沒有工作太多與代表作爲事件處理程序,但我確實發現[本條](http://blog.monstuff.com/archives/000040.html),這是非常豐富的。基本上,一個事件是一個特殊的代表,它比常規代表有一些優點。那篇文章是C#但是因爲它全是.NET,所以概念是一樣的。 –