共用方式為


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 對話方塊的根類別。 它通常是透過 Factory 方法 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)

呼叫 voided IDialog<TResult> ,忽略結果,然後重新開機原始對話等候。

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

呼叫 voided IDialog<TResult> ,忽略結果,然後重新開機原始對話等候。

WaitToBot<T>(IDialog<T>)

在前項完成之後,將訊息鏈結至 Bot。

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

使用可評分裝飾對話方塊,讓可評分專案可以參與對話堆疊。

適用於