Langue

IDialog<TResult> Interface

Définition

A IDialog<TResult> est un processus conversationnel suspendable qui produit un résultat de type TResult.

public interface IDialog<out TResult>
type IDialog<'Result> = interface
Public Interface IDialog(Of Out TResult)

Paramètres de type

TResult

Type de résultat.

Ce paramètre de type est covariant. Cela signifie que vous pouvez utiliser le type spécifié ou tout type plus dérivé. Pour plus d’informations sur la covariance et la contravariance, consultez Covariance et contravariance dans les génériques.
Dérivé

Remarques

Les dialogues peuvent appeler des dialogues enfants ou envoyer des messages à un utilisateur. Les dialogues sont suspendus lorsqu’on attend un message de l’utilisateur au bot. Les dialogues reprennent lorsque le bot reçoit un message de l’utilisateur.

Méthodes

Nom Description
StartAsync(IDialogContext)

Le début du code qui représente le dialogue conversationnel.

Méthodes d’extension

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

Lorsque l’antécédent IDialog<TResult> est terminé, capturez et gérez toute exception de type E.

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

Lorsque l’antécédent IDialog<TResult> est terminé, détectez et gérez toute exception.

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

Lorsque l’antécédent IDialog<TResult> est terminé, on exécute la continuation pour produire le suivant IDialog<TResult>.

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

Lorsque l’antécédent IDialog<TResult> est terminé, on arrête la propagation d’une exception de E.

DefaultIfException<T>(IDialog<T>)

Lorsque l’antécédent IDialog<TResult> est terminé, arrêtez la propagation de l’Exception.

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

Effectuez un effet secondaire après la fin d’un IDialog<TResult> traitement.

Loop<T>(IDialog<T>)

Boucle l’éternité IDialog<TResult> .

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

Lorsque l’antécédent IDialog<TResult> est terminé, publiez l’élément dans la file d’attente des événements.

PostToUser<T>(IDialog<T>)

Publiez à l’utilisateur le résultat d’un IDialog<TResult>fichier .

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

Lorsque l’antécédent IDialog<TResult> est terminé, projetons le résultat dans un nouveau IDialog<TResult>.

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

Lorsque l’antécédent IDialog<TResult> est terminé, exécutez le suivant IDialog<TResult>, et utilisez la projection pour combiner les résultats.

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

Lorsque l’antécédent IDialog<TResult> est terminé, on parcourt chacun ICase<T,R> et on exécute le ContextualSelector<T,R>« du premier ICase<T,R> que la valeur retournée par le dialogue antécédents satisfait.

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

Exécutez une action après la fin des IDialog<TResult> opérations.

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

Appelle le Voided IDialog<TResult>, ignore le résultat, puis redémarre la boîte de dialogue originale en attendant.

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

Appelle le Voided IDialog<TResult>, ignore le résultat, puis redémarre la boîte de dialogue originale en attendant.

WaitToBot<T>(IDialog<T>)

Publiez dans la chaîne le message vers le bot après la fin de l’antécédent.

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

Lorsque l’antécédent IDialog<TResult> est terminé, évaluez le prédicat et décidez de continuer.

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

Créez un IDialog<TResult> qui représente une boucle while.

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

Décorez un dialogue avec un scoreable, afin qu’un score puisse participer à la pile de dialogue.

S’applique à