Język

Chain Klasa

Definicja

Płynny, łańcuchowy interfejs dla IDialogów.

public static class Chain
type Chain = class
Public Module Chain
Dziedziczenie
Chain

Metody

Nazwa Opis
Case<R>(Regex, ContextualSelector<String,R>)

Konstruuje przypadek na podstawie wyrażenia regularnego.

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

Konstruuje argumenty.

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

Gdy poprzednik IDialog<TResult> zostanie zakończony, złap i obsłuży wszelkie wyjątki typu E.

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

Gdy poprzednik IDialog<TResult> się zakończy, wykryj i obsłuży wszelkie wyjątki.

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

Gdy poprzednik IDialog<TResult> się zakończy, wykonaj kontynuację, aby uzyskać następne IDialog<TResult>.

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

Konstruuje przypadek, który można użyć jako domyślnego.

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

Gdy poprzednik IDialog<TResult> zostanie zakończony, zatrzymaj propagację wyjątku .E

DefaultIfException<T>(IDialog<T>)

Gdy poprzednik IDialog<TResult> zostanie zakończony, zatrzymaj propagację wyjątku.

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

Wykonaj efekt uboczny po IDialog<TResult> zakończeniu.

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

Składaj elementy z wyliczania dialogów.

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

Skonstruuj aIDialog<TResult>, która po uruchomieniu utworzy nową kopię innej.IDialog<TResult>

Loop<T>(IDialog<T>)

Zapętlaj na IDialog<TResult> zawsze.

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

Gdy poprzednik IDialog<TResult> zostanie zakończony, umieść go w kolejce zdarzeń.

PostToChain()

Opublikuj wiadomość od użytkownika na Chain.

PostToUser<T>(IDialog<T>)

Opublikuj użytkownikowi wynik .IDialog<TResult>

Return<T>(T)

Tworzy , IDialog<TResult> która zwraca wartość.

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

Gdy poprzednik IDialog<TResult> zostanie ukończony, rzutujemy wynik do nowego IDialog<TResult>.

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

Gdy poprzednik IDialog<TResult> zostanie zakończony, wykonaj następne IDialog<TResult>, a następnie użyj projekcji do połączenia wyników.

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

Gdy poprzednik IDialog<TResult> się zakończy, przejdź przez każdy ICase<T,R> i uruchom " ContextualSelector<T,R>" pierwszego ICase<T,R> , którego wartość zwrócona przez dialog poprzednika spełnia.

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

Wykonaj akcję po IDialog<TResult> jej zakończeniu.

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

Gdy poprzednik IDialog<TResult> , w którym T jest kompletny IDialog<TResult> , rozwiń wynik do nowego IDialog<TResult>.

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

Zadzwoń do voided, IDialog<TResult>zignoruj wynik, a potem zrestartuj oryginalny dialog wait.

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

Zadzwoń do voided, IDialog<TResult>zignoruj wynik, a potem zrestartuj oryginalny dialog wait.

WaitToBot<T>(IDialog<T>)

Po zakończeniu poprzednika przesłaj wiadomość do bota do łańcucha.

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

Gdy poprzednik IDialog<TResult> się zakończy, oceń predykat i zdecyduj, czy kontynuować.

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

Stwórz taką IDialog<TResult> pętlę czasu.

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

Odekoruj dialog punktacją, aby przedmiot mógł uczestniczyć w stosie dialogowym.

Dotyczy