16,553
社区成员
发帖
与我相关
我的任务
分享
public delegate void OnGetEventTypesDelegate(GetEventTypesResp resp, GetEventTypesTask.eventTypesEnum taskType);
public static event OnGetEventTypesDelegate OnGetEventTypes;
if (OnGetEventTypes != null)
{
OnGetEventTypes(resp, m_taskType);
}
Public Delegate Sub OnGetEventTypesDelegate(ByVal resp As GetEventTypesResp, ByVal taskType As GetEventTypesTask.eventTypesEnum)
Public Shared Event OnGetEventTypes As OnGetEventTypesDelegate
RaiseEvent OnGetEventTypes(resp, m_taskType)
Private Sub GetEventsTask_OnGetEvents(ByVal resp As GetEventsResp, ByVal node As TreeNode, ByVal marketId As Integer)
AddHandler GetEventTypesTask.OnGetEventTypes, AddressOf GetEventTypesTask_OnGetEventTypes
Private Sub GetEventTypesTask_OnGetEventTypes(ByVal resp As GetEventTypesResp, ByVal taskTypeEnum As GetEventTypesTask.eventTypesEnum)
Public Class GetEventTypesTask
Implements IApiTask
Private m_taskType As GetEventTypesTask.eventTypesEnum
Public Delegate Sub OnGetEventTypesDelegate(ByVal resp As GetEventTypesResp, ByVal taskType As GetEventTypesTask.eventTypesEnum)
Public Shared Event OnGetEventTypes As OnGetEventTypesDelegate
Public Sub New(ByVal taskType As GetEventTypesTask.eventTypesEnum)
m_taskType = taskType
Console.WriteLine(taskType.ToString)
End Sub
#Region "IApiTask Members"
Public Sub PerformTask() Implements IApiTask.PerformTask
' TODO: Add GetEventsTask.PerformTask implementation
' Get session from session manager
Dim session As String = SessionTokenManager.GetSessionToken()
' If no session, log in and get another one
If session Is Nothing Then
session = LoginTask.Login().header.sessionToken
End If
' Get Active events
Dim resp As GetEventTypesResp = Nothing
While resp Is Nothing
Dim req As New GetEventTypesReq()
req.header = New APIRequestHeader()
req.header.sessionToken = session
If m_taskType = GetEventTypesTask.eventTypesEnum.ACTIVE Then
resp = New BFGlobalService().getActiveEventTypes(req)
ElseIf m_taskType = GetEventTypesTask.eventTypesEnum.ALL Then
resp = New BFGlobalService().getAllEventTypes(req)
End If
End While
' Return session to session manager
SessionTokenManager.ReturnSessionToken(resp.header.sessionToken)
' Raise event to notify app of retrieved events
'If Not ( OnGetEventTypes Is Nothing) Then
RaiseEvent OnGetEventTypes(resp, m_taskType)
'End If
'' Return session to session manager
'SessionTokenManager.ReturnSessionToken(resp.header.sessionToken)
'RaiseEvent OnGetEventTypes(resp, m_taskType)
'' Raise event to notify app of retrieved events
End Sub
Public Enum eventTypesEnum
ACTIVE
ALL
End Enum
#End Region
End Class
#Region "GetEventTypesTask_OnGetEventTypes(GetEventTypesResp resp, GetEventTypesTask.eventTypesEnum taskTypeEnum)"
Private Sub GetEventTypesTask_OnGetEventTypes(ByVal resp As GetEventTypesResp, ByVal taskTypeEnum As GetEventTypesTask.eventTypesEnum) Handles GetEventTypesTask.OnGetEventTypes
If InvokeRequired Then
Invoke(New Tasks.GetEventTypesTask.OnGetEventTypesDelegate(AddressOf GetEventTypesTask_OnGetEventTypes), New Object() {resp, taskTypeEnum})
Else
' We need to display information from the provided API response
tvMain.Nodes.Clear()
If resp.eventTypeItems IsNot Nothing Then
Dim eventItems As EventType() = resp.eventTypeItems
Dim nodeCount As Integer = eventItems.Length
Dim nodes As TreeNode() = New TreeNode(nodeCount - 1) {}
For i As Integer = 0 To nodeCount - 1
Dim eventItem As New BFEvent()
eventItem.eventName = eventItems(i).name
eventItem.eventId = eventItems(i).id
nodes(i) = New TreeNode(eventItems(i).name)
nodes(i).Tag = eventItem
' Create a fake child node
nodes(i).Nodes.Add(New TreeNode(""))
Next
tvMain.Nodes.AddRange(nodes)
End If
End If
End Sub
#End Region
'在类中
Public Delegate Sub OnGetEventTypesDelegate(ByVal resp As GetEventsResp, ByVal node As TreeNode, ByVal marketId As Integer)
Public Shared Event OnGetEventTypes As OnGetEventTypesDelegate
' 然后
Private Sub GetEventsTask_OnGetEvents(ByVal resp As GetEventsResp, ByVal node As TreeNode, ByVal marketId As Integer) Handles ClassName.OnGetEventTypes
Private Sub GetEventsTask_OnGetEvents(ByVal resp As GetEventsResp, ByVal node As TreeNode, ByVal marketId As Integer)
这个过程?这里要怎么改?我在后面加上 Handles GetEventsTask.OnGetEvents 提示出错