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,所以概念是一样的。 –