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> to zawieszony proces konwersacyjny, który generuje 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
Okna dialogowe mogą wywoływać okna dialogowe podrzędne lub wysyłać komunikaty do użytkownika. Okna dialogowe są zawieszone podczas oczekiwania na komunikat od użytkownika do bota. Okna dialogowe są wznawiane po odebraniu przez bota komunikatu od użytkownika.
Metody
StartAsync(IDialogContext) |
Początek kodu reprezentującego okno dialogowe konwersacji. |
Metody rozszerzania
Catch<T>(IDialog<T>, Func<IDialog<T>,Exception,IDialog<T>>) |
Po zakończeniu połowów i obsługi wszelkich wyjątków po zakończeniu wyłap IDialog<TResult> i obsłuż je. |
Catch<T,E>(IDialog<T>, Func<IDialog<T>,E,IDialog<T>>) |
Po zakończeniu po zakończeniu wyłap IDialog<TResult> i obsłuż wszelkie wyjątki typu |
ContinueWith<T,R>(IDialog<T>, Chain.Continuation<T,R>) |
Po zakończeniu poprzednich IDialog<TResult> kroków wykonaj kontynuację, aby utworzyć następny IDialog<TResult>element . |
DefaultIfException<T>(IDialog<T>) |
Po zakończeniu poprzednika IDialog<TResult> zatrzymaj propagację wyjątku. |
DefaultIfException<T,E>(IDialog<T>) |
Po zakończeniu poprzednika IDialog<TResult> zatrzymaj propagację wyjątku . |
Do<T>(IDialog<T>, Func<IBotContext,IAwaitable<T>,Task>) |
Wykonaj efekt uboczny po zakończeniu IDialog<TResult> . |
Loop<T>(IDialog<T>) |
Pętla IDialog<TResult> na zawsze. |
PostEvent<T,E>(IDialog<T>, E) |
Po zakończeniu wyrażeń IDialog<TResult> opublikuj element w kolejce zdarzeń. |
PostToUser<T>(IDialog<T>) |
Opublikuj użytkownikowi wynik .IDialog<TResult> |
Select<T,R>(IDialog<T>, Func<T,R>) |
Po zakończeniu działania poprzednika IDialog<TResult> przeprojektuj wynik w nowy IDialog<TResult>element . |
SelectMany<T,C,R>(IDialog<T>, Func<T,IDialog<C>>, Func<T,C,R>) |
Po zakończeniu poprzednich IDialog<TResult> kroków wykonaj następny IDialog<TResult>element i użyj projekcji, aby połączyć wyniki. |
Switch<T,R>(IDialog<T>, ICase<T,R>[]) |
Po zakończeniu poprzednich IDialog<TResult> kroków przejdź przez każdą ICase<T,R> i uruchom ContextualSelector<T,R>wartość " pierwszego ICase<T,R> , że zwrócona wartość przez okno dialogowe poprzednika spełnia. |
Then<T,R>(IDialog<T>, Func<IBotContext,IAwaitable<T>,Task<R>>) |
Wykonaj akcję po zakończeniu IDialog<TResult> . |
Void<T>(IDialog<T>, IDialogStack) |
Wywołaj unieważniony IDialog<TResult>element , zignoruj wynik, a następnie uruchom ponownie oryginalne okno dialogowe. |
Void<T,R>(IDialog<T>) |
Wywołaj unieważniony IDialog<TResult>element , zignoruj wynik, a następnie uruchom ponownie oryginalne okno dialogowe. |
WaitToBot<T>(IDialog<T>) |
Opublikuj w łańcuchu komunikat do bota po zakończeniu działania poprzednika. |
Where<T>(IDialog<T>, Func<T,Boolean>) |
Po zakończeniu poprzednika IDialog<TResult> oceń predykat i zdecyduj, czy kontynuować. |
While<T>(IDialog<T>, Func<T,IDialog<Boolean>>, Func<T,IDialog<T>>) |
Utwórz pętlę IDialog<TResult> czasową, która reprezentuje pętlę czasową. |
WithScorable<T,Item,Score>(IDialog<T>, IScorable<Item,Score>) |
Udekoruj okno dialogowe z ozdobnym, dzięki czemu scorable może uczestniczyć w stosie okien dialogowych. |