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

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

Constrói um caso baseado 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 o antecedente IDialog<TResult> estiver completo, capturar e tratar quaisquer exceções do tipo E.

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

Quando o antecedente IDialog<TResult> estiver concluído, capturar e tratar quaisquer exceções.

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

Quando o antecedente IDialog<TResult> estiver completo, execute a continuação para produzir o próximo IDialog<TResult>.

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

Constrói um caso para usar como padrão.

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

Quando o antecedente IDialog<TResult> estiver completo, interrompa a propagação de uma exceção de E.

DefaultIfException<T>(IDialog<T>)

Quando o antecedente IDialog<TResult> estiver concluído, interrompa a propagação de Exceção.

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

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

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

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

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

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

Loop<T>(IDialog<T>)

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

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

Quando o antecedente IDialog<TResult> for concluído, poste o item na fila de eventos.

PostToChain()

Publique a mensagem do usuário para o Chain.

PostToUser<T>(IDialog<T>)

Publique ao 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 o antecedente IDialog<TResult> estiver completo, projete o resultado em um novo IDialog<TResult>.

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

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

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

Quando o antecedente IDialog<TResult> estiver completo, percorra cada um ICase<T,R> e execute o ContextualSelector<T,R>" do primeiro ICase<T,R> que o valor retornado pelo diálogo antecedente satisfaz.

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

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

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

Quando o antecedente IDialog<TResult> onde T está IDialog<TResult> completo, desdobra-se o resultado em um novo IDialog<TResult>.

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

Chame o voided IDialog<TResult>, ignore o resultado e então reinicie o diálogo original e espere novamente.

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

Chame o voided IDialog<TResult>, ignore o resultado e então reinicie o diálogo original e espere novamente.

WaitToBot<T>(IDialog<T>)

Poste na cadeia a mensagem para o bot depois que o antecedente for concluído.

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

Quando o antecedente IDialog<TResult> estiver completo, avalie o predicado e decida se deve continuar.

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

Crie um IDialog<TResult> que represente um ciclo while.

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

Decore um diálogo com um pontuável, para que um pontuável possa participar da pilha de diálogo.

Aplica-se a