VB.Net: LUIS Dialog context.Wait (MessageReceived) проблема

Чтобы бросить себе вызов, я создал приложение Visual Basic, использующее Microsoft Bot Framework и LUIS API. К моему собственному удовольствию, я в значительной степени заставил это работать ... почти. Преодолев некоторые препятствия с C# на VB, я не могу преодолеть одно, которое мешает моему приложению поддерживать правильное функционирование стека диалогов (оно выходит из строя после одного взаимодействия). В частности, у меня есть следующий фрагмент кода внутри моего кода диалога:

Imports System
Imports System.Threading.Tasks
Imports Microsoft.Bot.Builder.Dialogs
Imports Microsoft.Bot.Builder.Luis
Imports Microsoft.Bot.Builder.Luis.Models

<LuisModel(“xxxxxxxxxxxxxxxxxxxxxxxxxx”, "xxxxxxxxxxxxxxxxxxxxxxxxxx")>
<Serializable>
Public Class MyLuisDialog
    Inherits LuisDialog(Of Object)

    <LuisIntent("None")>
    Public Async Function NoneIntent(context As IDialogContext, result As LuisResult) As Task
        Await context.PostAsync(“this is boring chat ..“)
        context.Wait(MessageReceived)
    End Function

но я не могу интерпретировать context.wait(MessageReceived) из С# в VB.

Компилятор хочет сделать:

context.wait(MessageReceived(context,????????))

но я не могу понять, что поставить в ?????.

Раздражает то, что версия C# работает только в форме context.wait(MessageReceived).

Помощь в том, какой синтаксис/код следует использовать при использовании VB, с благодарностью принимается :)


person mag911    schedule 30.03.2017    source источник


Ответы (1)


Попробуйте с context.Wait(AddressOf MessageReceived)

person Ezequiel Jadib    schedule 30.03.2017
comment
Гений! Большое спасибо @Ezequiel Jadib. Стек диалогов работает по назначению. - person mag911; 31.03.2017