“Custom”修饰符在未用显式委托类型声明的事件上无效
更新:2007 年 11 月
与非自定义事件不同,Custom Event 声明需要一个跟在事件名称后面的 As 子句,该子句显式指定事件的委托类型。
定义的非自定义事件可带有 As 子句和显式委托类型,或在事件名称后面紧跟一个参数列表。
**错误 ID:**BC31122
更正此错误
使用与自定义事件相同的参数列表定义一个委托。
例如,如果 Custom Event 是由 Custom Event Test(ByVal sender As Object, ByVal i As Integer) 定义的,则对应的委托将如下所示。
Delegate Sub TestDelegate(ByVal sender As Object, ByVal i As Integer)
将自定义事件的参数列表替换为指定委托类型的 As 子句。
接上例,将按如下方式重写 Custom Event 声明。
Custom Event Test As TestDelegate
示例
此示例声明 Custom Event,并指定带有委托类型的必需 As 子句。
Delegate Sub TestDelegate(ByVal sender As Object, ByVal i As Integer)
Custom Event Test As TestDelegate
AddHandler(ByVal value As TestDelegate)
' Code for adding an event handler goes here.
End AddHandler
RemoveHandler(ByVal value As TestDelegate)
' Code for removing an event handler goes here.
End RemoveHandler
RaiseEvent(ByVal sender As Object, ByVal i As Integer)
' Code for raising an event goes here.
End RaiseEvent
End Event