Chain Clase

Definición

Una interfaz fluida y encadenable para IDialogs.

public static class Chain
type Chain = class
Public Module Chain
Herencia
Chain

Métodos

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

Construye un caso basado en una expresión regular.

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

Construye un caso.

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

Cuando el antecedente IDialog<TResult> se ha completado, detectar y manejar cualquier excepción de tipo E.

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

Cuando el antecedente IDialog<TResult> se haya completado, detectar y manejar cualquier excepción.

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

Cuando el antecedente IDialog<TResult> ha completado, ejecuta la continuación para producir el siguiente IDialog<TResult>.

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

Construye un caso para usar como valor predeterminado.

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

Cuando el antecedente IDialog<TResult> ha terminado, detiene la propagación de una excepción de E.

DefaultIfException<T>(IDialog<T>)

Cuando el antecedente IDialog<TResult> se ha completado, detiene la propagación de Exception.

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

Realiza un efecto secundario después de que termine.IDialog<TResult>

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

Pliega elementos de una enumeración de diálogos.

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

Construye una IDialog<TResult> que haga una nueva copia de otra IDialog<TResult> al iniciar.

Loop<T>(IDialog<T>)

Haz un bucle para siempre IDialog<TResult> .

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

Cuando el antecedente IDialog<TResult> se ha completado, publica el elemento en la cola de eventos.

PostToChain()

Publica el mensaje del usuario en Chain.

PostToUser<T>(IDialog<T>)

Publica al usuario el resultado de un IDialog<TResult>.

Return<T>(T)

Crea un IDialog<TResult> que devuelve un valor.

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

Cuando el antecedente IDialog<TResult> se ha completado, proyecta el resultado en un nuevo IDialog<TResult>.

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

Cuando el antecedente IDialog<TResult> se haya completado, ejecuta el siguiente IDialog<TResult>, y se utiliza la proyección para combinar los resultados.

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

Cuando el antecedente IDialog<TResult> se ha completado, pasa por cada ICase<T,R> uno y ejecuta el ContextualSelector<T,R>" del primero ICase<T,R> que satisface el valor devuelto por el diálogo antecedente.

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

Ejecuta una acción después de que termine IDialog<TResult> .

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

Cuando el antecedente IDialog<TResult> donde T está IDialog<TResult> completo, se desenrolla el resultado en un nuevo IDialog<TResult>.

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

Llama al anulado IDialog<TResult>, ignora el resultado y luego reinicia el diálogo original y espera.

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

Llama al anulado IDialog<TResult>, ignora el resultado y luego reinicia el diálogo original y espera.

WaitToBot<T>(IDialog<T>)

Publica en la cadena el mensaje al bot una vez que el antecedente haya terminado.

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

Cuando el antecedente IDialog<TResult> se ha completado, evalúa el predicado y decide si continuar.

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

Crea un IDialog<TResult> que represente un bucle while.

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

Decora un diálogo con un puntuable, para que un puntuable pueda participar en la pila de diálogo.

Se aplica a