无法在Chain中运行自定义IDialog

时间:2017-02-05 12:15:03

标签: c# botframework

我有这个IDialog

[Serializable]
public class SimpleDialog : IDialog
{
    public async Task StartAsync(IDialogContext context)
    {
        context.Wait(MessageReceivedAsync);
    }

    private async Task MessageReceivedAsync(IDialogContext context, IAwaitable<IMessageActivity> argument)
    {
        IMessageActivity message = await argument;
        int length = (message.Text ?? string.Empty).Length;

        await context.PostAsync($"You sent **{message.Text}** which was **{length}** characters");
        context.Wait(MessageReceivedAsync);
    }
}

效果很好。 现在我尝试用这样的代码链接它:

  public static readonly IDialog MyDialog = Chain
        .PostToChain()
     .Select(_ => "Hello, quel est votre nom?")
     .PostToUser()
     .WaitToBot()
        .ContinueWith(_ => new SimpleDialog())
        .PostToUser();

但是这不能在ContinueWith上编译。我收到错误:

无法从用法推断出方法'Chain.ContinueWith(IDialog,Chain.Continuation)'的类型参数。尝试明确指定类型参数。

我尝试了几件事,但没有一件是有效的。

我可以做些什么来链接我的对话框?

0 个答案:

没有答案