IDialog<TResult> Interfejs
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
A IDialog<TResult> jest zawiesnym procesem konwersacyjnym, który daje wynik typu TResult.
public interface IDialog<out TResult>
type IDialog<'Result> = interface
Public Interface IDialog(Of Out TResult)
Parametry typu
- TResult
Typ wyniku
Ten parametr typu jest kowariantny. Oznacza to, że możesz użyć typu, który został przez Ciebie określony, lub dowolnego typu, który jest bardziej pochodny. Aby uzyskać więcej informacji o kowariancji i kontrawariancji, zobacz Kowariancja i kontrawariancja w typach ogólnych.- Pochodne
Uwagi
Dialogi mogą wywoływać dialogi poddane lub wysyłać wiadomości do użytkownika. Dialogi są zawieszane podczas oczekiwania na wiadomość od użytkownika do bota. Dialogi są wznawiane, gdy bot otrzymuje wiadomość od użytkownika.
Metody
| Nazwa | Opis |
|---|---|
| StartAsync(IDialogContext) |
Początek kodu reprezentującego dialog konwersacyjny. |
Metody rozszerzania
| Nazwa | Opis |
|---|---|
| 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 |
| 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>. |
| DefaultIfException<T,E>(IDialog<T>) |
Gdy poprzednik IDialog<TResult> zostanie zakończony, zatrzymaj propagację wyjątku . |
| 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. |
| 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ń. |
| PostToUser<T>(IDialog<T>) |
Opublikuj użytkownikowi wynik .IDialog<TResult> |
| 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. |
| 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. |