IDialog<TResult> Interfaz

Definición

A IDialog<TResult> es un proceso conversacional suspendible que produce un resultado de tipo TResult.

public interface IDialog<out TResult>
type IDialog<'Result> = interface
Public Interface IDialog(Of Out TResult)

Parámetros de tipo

TResult

El tipo de resultado.

Este parámetro de tipo es covariante, es decir, puede usar el tipo que haya especificado o cualquier tipo más derivado. Si desea obtener más información sobre la covarianza y la contravarianza, consulte Covarianza y contravarianza en genéricos.
Derivado

Comentarios

Los diálogos pueden llamar a diálogos hijos o enviar mensajes a un usuario. Los diálogos se suspenden cuando se espera un mensaje del usuario al bot. Los diálogos se reanudan cuando el bot recibe un mensaje del usuario.

Métodos

Nombre Description
StartAsync(IDialogContext)

El inicio del código que representa el diálogo conversacional.

Métodos de extensión

Nombre Description
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>.

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>

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.

PostToUser<T>(IDialog<T>)

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

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> .

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