Share via


IDialog<TResult> 接口

定义

IDialog<TResult> 一个可挂起的对话进程,它生成 类型 TResult的结果。

public interface IDialog<out TResult>
type IDialog<'Result> = interface
Public Interface IDialog(Of Out TResult)

类型参数

TResult

结果类型。

这是协变类型参数。 即,可以使用指定的类型,也可以使用派生程度较高的任何类型。 有关协变和逆变的详细信息,请参阅泛型中的协变和逆变
派生

注解

对话可以调用子对话或向用户发送消息。 等待用户向机器人发送消息时,对话将挂起。 当机器人收到来自用户的消息时,对话将恢复。

方法

StartAsync(IDialogContext)

表示对话的代码的开头。

扩展方法

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>)

使用可评分项修饰对话,以便可评分项可以参与对话堆栈。

适用于