Partager via


Chain Classe

Définition

Interface fluide et chaînable pour IDialogs.

public static class Chain
type Chain = class
Public Module Chain
Héritage
Chain

Méthodes

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

Construit un cas basé sur une expression régulière.

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

Construit un cas.

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

Une fois l’antécédent IDialog<TResult> terminé, interceptez et gérez toutes les exceptions de type E.

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

Une fois l’antécédent IDialog<TResult> terminé, interceptez et gérez les exceptions.

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

Une fois l’antécédent IDialog<TResult> terminé, exécutez la continuation pour produire le suivant IDialog<TResult>.

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

Construit un cas à utiliser comme cas par défaut.

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

Une fois l’antécédent IDialog<TResult> terminé, arrêtez la propagation d’une exception de E.

DefaultIfException<T>(IDialog<T>)

Une fois l’antécédent IDialog<TResult> terminé, arrêtez la propagation de l’exception.

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

Exécutez un effet secondaire une fois qu’un IDialog<TResult> est terminé.

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

Pliez les éléments à partir d’une énumération de boîtes de dialogue.

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

Construisez un IDialog<TResult> qui fera une nouvelle copie d’un autre IDialog<TResult> au démarrage.

Loop<T>(IDialog<T>)

Bouclez le IDialog<TResult> pour toujours.

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

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

PostToChain()

Publiez le message de l’utilisateur dans Chaîne.

PostToUser<T>(IDialog<T>)

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

Return<T>(T)

Crée un IDialog<TResult> qui retourne une valeur.

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

Une fois l’antécédent terminé, projetez IDialog<TResult> le résultat dans un nouveau IDialog<TResult>.

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

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

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

Une fois l’antécédent IDialog<TResult> terminé, parcourez chacune ICase<T,R> d’elles et exécutez le ContextualSelector<T,R>« de la première ICase<T,R> que la valeur retournée par la boîte de dialogue antérieure satisfait.

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

Exécutez une action une fois la IDialog<TResult> commande terminée.

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

Lorsque l’antécédent IDialog<TResult> où T est IDialog<TResult> terminé, décompressez le résultat dans un nouveau IDialog<TResult>.

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

Appelez le annulé IDialog<TResult>, ignorez le résultat, puis redémarrez la boîte de dialogue d’origine en attente.

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

Appelez le annulé IDialog<TResult>, ignorez le résultat, puis redémarrez la boîte de dialogue d’origine en attente.

WaitToBot<T>(IDialog<T>)

Postez dans la chaîne le message au bot une fois l’antécédent terminé.

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

Une fois l’antécédent IDialog<TResult> terminé, évaluez le prédicat et décidez s’il faut 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 scorable, afin qu’un scorable puisse participer à la pile des dialogues.

S’applique à