Compartilhar via


Chain Classe

Definição

Uma interface fluente e encadeável para IDialogs.

public static class Chain
type Chain = class
Public Module Chain
Herança
Chain

Métodos

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

Constrói um caso com base em uma expressão regular.

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

Constrói um caso.

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

Quando a antecessora IDialog<TResult> for concluída, capture e manipule quaisquer exceções do tipo E.

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

Quando a antecessora IDialog<TResult> for concluída, capture e manipule as exceções.

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

Quando a antecessora IDialog<TResult> for concluída, execute a continuação para produzir o próximo IDialog<TResult>.

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

Constrói um caso a ser usado como o padrão.

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

Quando a antecessora IDialog<TResult> for concluída, interrompa a propagação de uma exceção de E.

DefaultIfException<T>(IDialog<T>)

Quando a antecessora IDialog<TResult> for concluída, interrompa a propagação de Exception.

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

Execute um efeito colateral após a conclusão de um IDialog<TResult> .

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

Dobre itens de uma enumeração de diálogos.

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

Construa um IDialog<TResult> que fará uma nova cópia de outro IDialog<TResult> quando iniciado.

Loop<T>(IDialog<T>)

Faça loop do IDialog<TResult> para sempre.

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

Quando a antecessora IDialog<TResult> for concluída, poste o item na fila de eventos.

PostToChain()

Poste a mensagem do usuário em Cadeia.

PostToUser<T>(IDialog<T>)

Poste para o usuário o resultado de um IDialog<TResult>.

Return<T>(T)

Cria um IDialog<TResult> que retorna um valor .

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

Quando a antecessora IDialog<TResult> for concluída, projeto o resultado em um novo IDialog<TResult>.

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

Quando a antecessora IDialog<TResult> for concluída, execute o próximo IDialog<TResult>e use a projeção para combinar os resultados.

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

Quando a antecessora IDialog<TResult> for concluída, passe por cada ICase<T,R> e execute o ContextualSelector<T,R>" do primeiro ICase<T,R> que o valor retornado pela caixa de diálogo anterior satisfaz.

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

Execute uma ação após a IDialog<TResult> conclusão.

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

Quando o antecessor em IDialog<TResult> que T é IDialog<TResult> concluído, desencapsular o resultado em um novo IDialog<TResult>.

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

Chame o anulado IDialog<TResult>, ignore o resultado e reinicie a espera da caixa de diálogo original.

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

Chame o anulado IDialog<TResult>, ignore o resultado e reinicie a espera da caixa de diálogo original.

WaitToBot<T>(IDialog<T>)

Poste na cadeia a mensagem para o bot após a conclusão do antecessor.

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

Quando o antecessor IDialog<TResult> for concluído, avalie o predicado e decida se deseja continuar.

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

Crie um IDialog<TResult> que representa um loop while.

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

Decore uma caixa de diálogo com um escorável para que um scorable possa participar da pilha de diálogos.

Aplica-se a