IDialog 接口

定义

IDialog 生成忽略结果的可挂起对话进程。

public interface IDialog : Microsoft.Bot.Builder.Dialogs.IDialog<object>
type IDialog = interface
    interface IDialog<obj>
Public Interface IDialog
Implements IDialog(Of Object)
实现

方法

StartAsync(IDialogContext)

表示对话的代码的开头。

(继承自 IDialog<TResult>)

扩展方法

Catch<T>(IDialog<T>, Func<IDialog<T>,Exception,IDialog<T>>)

完成前面的 IDialog<TResult> 操作后,捕获并处理任何异常。

Catch<T,E>(IDialog<T>, Func<IDialog<T>,E,IDialog<T>>)

完成前面的 IDialog<TResult> 操作后,捕获并处理类型 E为 的任何异常。

ContinueWith<T,R>(IDialog<T>, Chain.Continuation<T,R>)

完成前面的 IDialog<TResult> 操作后,执行延续以生成下一个 IDialog<TResult>

DefaultIfException<T>(IDialog<T>)

完成前面的 IDialog<TResult> 操作后,停止异常的传播。

DefaultIfException<T,E>(IDialog<T>)

完成前面的 IDialog<TResult> 操作后,停止异常的 E传播。

Do<T>(IDialog<T>, Func<IBotContext,IAwaitable<T>,Task>)

完成后执行副作用 IDialog<TResult>

Loop<T>(IDialog<T>)

永远循环 。IDialog<TResult>

PostEvent<T,E>(IDialog<T>, E)

完成前面的 IDialog<TResult> 项后,将项发布到事件队列。

PostToUser<T>(IDialog<T>)

将 的结果 IDialog<TResult>发布到用户。

Select<T,R>(IDialog<T>, Func<T,R>)

完成前面的 IDialog<TResult> 操作后,将结果投影到新的 IDialog<TResult>中。

SelectMany<T,C,R>(IDialog<T>, Func<T,IDialog<C>>, Func<T,C,R>)

完成前面的 IDialog<TResult> 操作后,执行下一个 IDialog<TResult>,并使用投影合并结果。

Switch<T,R>(IDialog<T>, ICase<T,R>[])

完成前项 IDialog<TResult> 后,完成每个 ICase<T,R> 操作,并运行 ContextualSelector<T,R>前一个对话所返回值满足的第一 ICase<T,R> 个 。

Then<T,R>(IDialog<T>, Func<IBotContext,IAwaitable<T>,Task<R>>)

完成后执行 IDialog<TResult> 操作。

Void<T>(IDialog<T>, IDialogStack)

调用无效 IDialog<TResult>的 ,忽略结果,然后重启原始对话等待。

Void<T,R>(IDialog<T>)

调用无效 IDialog<TResult>的 ,忽略结果,然后重启原始对话等待。

WaitToBot<T>(IDialog<T>)

在完成前项后,将消息发布到机器人。

Where<T>(IDialog<T>, Func<T,Boolean>)

完成前 IDialog<TResult> 项后,请评估谓词并决定是否继续。

While<T>(IDialog<T>, Func<T,IDialog<Boolean>>, Func<T,IDialog<T>>)

创建一个 IDialog<TResult> 表示 while 循环的 。

WithScorable<T,Item,Score>(IDialog<T>, IScorable<Item,Score>)

使用可烧焦项修饰对话,使可烧焦内容可以参与对话堆栈。

适用于