“Custom”修饰符在未用显式委托类型声明的事件上无效

更新:2007 年 11 月

与非自定义事件不同,Custom Event 声明需要一个跟在事件名称后面的 As 子句,该子句显式指定事件的委托类型。

定义的非自定义事件可带有 As 子句和显式委托类型,或在事件名称后面紧跟一个参数列表。

**错误 ID:**BC31122

更正此错误

  1. 使用与自定义事件相同的参数列表定义一个委托。

    例如,如果 Custom Event 是由 Custom Event Test(ByVal sender As Object, ByVal i As Integer) 定义的,则对应的委托将如下所示。

    Delegate Sub TestDelegate(ByVal sender As Object, ByVal i As Integer)
    
  2. 将自定义事件的参数列表替换为指定委托类型的 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

请参见

参考

Custom

Event 语句

Delegate 语句

其他资源

事件 (Visual Basic)