語言

Chain 類別

定義

一個流暢且可串接的IDialog介面。

public static class Chain
type Chain = class
Public Module Chain
繼承
Chain

方法

名稱 Description
Case<R>(Regex, ContextualSelector<String,R>)

根據正則表達式構造一個案例。

Case<T,R>(Func<T,Boolean>, ContextualSelector<T,R>)

建立一個案例。

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

當前件 IDialog<TResult> 完成後,捕捉並處理任何類型的 E例外。

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

當前件 IDialog<TResult> 完成後,捕捉並處理任何例外。

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

當前件 IDialog<TResult> 完成後,執行延續以產生下一個 IDialog<TResult>。

Default<T,R>(ContextualSelector<T,R>)

構建一個案例作為預設。

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

當前件 IDialog<TResult> 完成後,停止 的 E例外傳播。

DefaultIfException<T>(IDialog<T>)

當前件 IDialog<TResult> 完成後,停止異常的傳播。

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

完成後 IDialog<TResult> 執行一個副效果。

Fold<T>(IDialog<IEnumerable<IDialog<T>>>, Func<T,T,T>)

從對話列舉中折疊項目。

From<T>(Func<IDialog<T>>)

建構一個 IDialog<TResult> ,啟動時會產生另一個 IDialog<TResult> 新的副本。

Loop<T>(IDialog<T>)

永遠循環 IDialog<TResult> 。

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

當先行件 IDialog<TResult> 完成後,將該項目放入事件佇列。

PostToChain()

把用戶的訊息貼給 Chain。

PostToUser<T>(IDialog<T>)

請向使用者 IDialog<TResult>發布 .

Return<T>(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> 執行一個動作。

Unwrap<T>(IDialog<IDialog<T>>)

當 T 為IDialog<TResult>完備的前件IDialog<TResult>時,將結果展開為新的 IDialog<TResult>。

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

呼叫 voided IDialog<TResult>,忽略結果,然後重新開始原本的對話框等待。

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

呼叫 voided 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 迴圈的 a。

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

用可得分物裝飾對話,讓該可得分者能參與對話堆疊。

適用於