Partilhar 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 numa expressão normal.

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 concluído, selecione e processe quaisquer exceções do tipo E.

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

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

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

Quando o antecedente IDialog<TResult> estiver concluído, execute a continuação para produzir o seguinte IDialog<TResult>.

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

Constrói um caso a utilizar como predefinição.

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

Quando o antecedente IDialog<TResult> estiver concluído, pare a propagação de uma exceção de E.

DefaultIfException<T>(IDialog<T>)

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

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

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

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

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

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

Construa uma IDialog<TResult> que faça uma nova cópia de outra IDialog<TResult> quando for iniciada.

Loop<T>(IDialog<T>)

Loop o IDialog<TResult> para sempre.

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

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

PostToChain()

Publique a mensagem do utilizador em Cadeia.

PostToUser<T>(IDialog<T>)

Publique no utilizador o resultado de um IDialog<TResult>.

Return<T>(T)

Cria um IDialog<TResult> que devolve um valor.

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

Quando o antecedente IDialog<TResult> estiver concluído, projecte o resultado num novo IDialog<TResult>.

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

Quando o antecedente IDialog<TResult> estiver concluído, execute o seguinte IDialog<TResult>e utilize a projeção para combinar os resultados.

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

Quando o antecedente IDialog<TResult> estiver concluído, percorra cada e ICase<T,R> execute o ContextualSelector<T,R>" do primeiro ICase<T,R> que o valor devolvido pela caixa de diálogo do antecedente 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 antecedente IDialog<TResult> em que T é IDialog<TResult> concluído, desembrulha o resultado num novo IDialog<TResult>.

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

Chame o vazio IDialog<TResult>, ignore o resultado e, em seguida, reinicie a caixa de diálogo original aguarde.

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

Chame o vazio IDialog<TResult>, ignore o resultado e, em seguida, reinicie a caixa de diálogo original aguarde.

WaitToBot<T>(IDialog<T>)

Publique na cadeia a mensagem no bot após a conclusão do antecedente.

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

Quando o antecedente IDialog<TResult> estiver concluído, avalie o predicado e decida se pretende continuar.

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

Crie um IDialog<TResult> que represente um ciclo de tempo.

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

Decore uma caixa de diálogo com uma correção, para que uma correção possa participar na pilha de diálogo.

Aplica-se a