【发布时间】:2017-12-11 22:35:24
【问题描述】:
我尝试修复以下 VB.Net 代码:
Public Delegate Sub RequestHandler(ByVal sender As Object, ByVal e As ManageEventArgs)
Public Custom Event RequestEvent As RequestHandler
AddHandler(value As RequestHandler)
End AddHandler
RemoveHandler(value As RequestHandler)
End RemoveHandler
RaiseEvent(sender As Object, e As ManageEventArgs)
End RaiseEvent
End Event
Public Function Request(ByVal bizID As String, ByVal Optional table As Hashtable = Nothing) As ArrayList
Me.aList = New ArrayList
If (Not Me.RequestEvent Is Nothing) Then
Dim e As New ManageEventArgs(bizID, table)
Me.RequestEvent.Invoke(Me, e)
End If
Return Me.aList
End Function
我收到以下错误:
Error BC32022 'Public Event RequestEvent As Manage.RequestHandler' is an event, and cannot be called directly. Use a 'RaiseEvent' statement to raise an event.
VB.Net 不是我的首选语言,因此我们将不胜感激
【问题讨论】:
-
@Plutonix,您应该检查this 以查看该语法是否有效,但如果没有将代码添加到这些块中,则此处毫无意义。
-
@jmcilhinney 谢谢!我不知道它可以用作块。部分原因是
End AddHandler听起来不太对
标签: vb.net event-handling