IDialog<TResult> Gränssnitt
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
A IDialog<TResult> är en pausbar konversationsprocess som ger ett resultat av typen TResult
.
public interface IDialog<out TResult>
type IDialog<'Result> = interface
Public Interface IDialog(Of Out TResult)
Typparametrar
- TResult
Resultattypen.
Det här är en covariant-typparameter. Det innebär att du kan använda antingen den typ du angett eller en typ som är mer härledd. Mer information om kovarians och kontravarians finns i Kovarians och kontravarians i Generisk typ.- Härledda
Kommentarer
Dialogrutor kan anropa underordnade dialogrutor eller skicka meddelanden till en användare. Dialogrutorna pausas när ett meddelande från användaren till roboten väntar. Dialogrutorna återupptas när roboten tar emot ett meddelande från användaren.
Metoder
StartAsync(IDialogContext) |
Början av koden som representerar konversationsdialogrutan. |
Tilläggsmetoder
Catch<T>(IDialog<T>, Func<IDialog<T>,Exception,IDialog<T>>) |
När den föregående har slutförts IDialog<TResult> fångar och hanterar du eventuella undantag. |
Catch<T,E>(IDialog<T>, Func<IDialog<T>,E,IDialog<T>>) |
När den föregående har slutförts IDialog<TResult> fångar och hanterar du eventuella undantag av typen |
ContinueWith<T,R>(IDialog<T>, Chain.Continuation<T,R>) |
När den föregående har slutförts IDialog<TResult> kör du fortsättningen för att skapa nästa IDialog<TResult>. |
DefaultIfException<T>(IDialog<T>) |
När den föregående har slutförts IDialog<TResult> stoppar du spridningen av undantag. |
DefaultIfException<T,E>(IDialog<T>) |
När den föregående har slutförts IDialog<TResult> stoppar du spridningen av ett undantag för |
Do<T>(IDialog<T>, Func<IBotContext,IAwaitable<T>,Task>) |
Kör en bieffekt när en IDialog<TResult> har slutförts. |
Loop<T>(IDialog<T>) |
Loopa för IDialog<TResult> evigt. |
PostEvent<T,E>(IDialog<T>, E) |
När den föregående har slutförts IDialog<TResult> publicerar du objektet i händelsekön. |
PostToUser<T>(IDialog<T>) |
Publicera resultatet av en IDialog<TResult>. |
Select<T,R>(IDialog<T>, Func<T,R>) |
När den föregående har slutförts IDialog<TResult> projicerar du resultatet till en ny IDialog<TResult>. |
SelectMany<T,C,R>(IDialog<T>, Func<T,IDialog<C>>, Func<T,C,R>) |
När den föregående har slutförts IDialog<TResult> kör du nästa IDialog<TResult>och använder projektionen för att kombinera resultaten. |
Switch<T,R>(IDialog<T>, ICase<T,R>[]) |
När den föregående har slutförts IDialog<TResult> går du igenom var ICase<T,R> och en och kör ContextualSelector<T,R>" för det första ICase<T,R> som det returnerade värdet i den föregående dialogrutan uppfyller. |
Then<T,R>(IDialog<T>, Func<IBotContext,IAwaitable<T>,Task<R>>) |
Kör en åtgärd när den IDialog<TResult> har slutförts. |
Void<T>(IDialog<T>, IDialogStack) |
Anropa den ogiltigförklarade IDialog<TResult>, ignorera resultatet och starta sedan om den ursprungliga dialogrutan. |
Void<T,R>(IDialog<T>) |
Anropa den ogiltigförklarade IDialog<TResult>, ignorera resultatet och starta sedan om den ursprungliga dialogrutan. |
WaitToBot<T>(IDialog<T>) |
Publicera meddelandet i kedjan till roboten när den föregående har slutförts. |
Where<T>(IDialog<T>, Func<T,Boolean>) |
När den föregående har slutförts utvärderar du predikatet IDialog<TResult> och bestämmer om du vill fortsätta. |
While<T>(IDialog<T>, Func<T,IDialog<Boolean>>, Func<T,IDialog<T>>) |
Skapa en IDialog<TResult> som representerar en while-loop. |
WithScorable<T,Item,Score>(IDialog<T>, IScorable<Item,Score>) |
Dekorera en dialogruta med en scorable, så att en scorable kan delta i dialogstacken. |