作为对自己的挑战,我创建了一个使用Microsoft Bot Framework和LUIS API的Visual Basic应用程序。为了我自己的娱乐,我已经基本上让它工作了......差不多。 在克服了一些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
但我无法将C#中的context.wait(MessageReceived)解释为VB。
编译器希望这样做:
context.wait(MessageReceived(context,????????))
但是我无法弄清楚要投入什么?????。
令人生畏的是,C#版本只能以context.wait(MessageReceived)的形式工作。
在使用VB感激地接受时,应该使用什么语法/代码的帮助:)
答案 0 :(得分:1)
尝试使用context.Wait(AddressOf MessageReceived)