FormDialog<T> 类

定义

用于填充状态的“表单”对话框。

[System.Serializable]
public sealed class FormDialog<T> : Microsoft.Bot.Builder.Dialogs.IDialog<T>, Microsoft.Bot.Builder.FormFlow.IFormDialog<T>, System.Runtime.Serialization.ISerializable where T : class
[<System.Serializable>]
type FormDialog<'T (requires 'T : null)> = class
    interface IFormDialog<'T (requires 'T : null)>
    interface IDialog<'T (requires 'T : null)>
    interface ISerializable
Public NotInheritable Class FormDialog(Of T)
Implements IDialog(Of T), IFormDialog(Of T), ISerializable

类型参数

T

要填充的类型。

继承
FormDialog<T>
属性
实现

注解

这是用于管理 FormFlow 对话框的根类。 它通常通过工厂方法 FromForm<T>(BuildFormDelegate<T>, FormOptions)FromType<T>(FormOptions)创建。

构造函数

FormDialog<T>(T, BuildFormDelegate<T>, FormOptions, IEnumerable<EntityRecommendation>, CultureInfo)

用于创建 FormFlow 对话框的构造函数。

方法

MessageReceived(IDialogContext, IAwaitable<IMessageActivity>)

用于填充状态的“表单”对话框。

显式接口实现

IDialog<T>.StartAsync(IDialogContext)

用于填充状态的“表单”对话框。

IFormDialog<T>.Form

用于填充状态的“表单”对话框。

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

用于填充状态的“表单”对话框。

扩展方法

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

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

适用于