Compartir a través de


IDialog<TResult> Interfaz

Definición

Es IDialog<TResult> un proceso conversacional confiable que genera 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 secundarios o enviar mensajes a un usuario. Los diálogos se suspenden al esperar un mensaje del usuario al bot. Los diálogos se reanudan cuando el bot recibe un mensaje del usuario.

Métodos

StartAsync(IDialogContext)

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

Métodos de extensión

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

Cuando se haya completado el antecedente IDialog<TResult> , capture y controle las excepciones.

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

Cuando se haya completado el antecedente IDialog<TResult> , capture y controle las excepciones de tipo E.

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

Cuando se haya completado el antecedente IDialog<TResult> , ejecute la continuación para generar el siguiente IDialog<TResult>.

DefaultIfException<T>(IDialog<T>)

Cuando se haya completado el antecedente IDialog<TResult> , detenga la propagación de Excepción.

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

Cuando se haya completado el antecedente IDialog<TResult> , detenga la propagación de una excepción de E.

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

Ejecute un efecto secundario después de completarse IDialog<TResult> .

Loop<T>(IDialog<T>)

Repite el IDialog<TResult> para siempre.

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

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

PostToUser<T>(IDialog<T>)

Publique en el usuario el resultado de .IDialog<TResult>

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

Cuando se haya completado el antecedente IDialog<TResult> , projecte el resultado en un nuevo IDialog<TResult>.

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

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

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

Cuando se haya completado el antecedente IDialog<TResult> , recorra cada ICase<T,R> y ejecute " ContextualSelector<T,R>del primero ICase<T,R> que satisface el valor devuelto por el cuadro de diálogo antecedente.

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

Ejecute una acción después IDialog<TResult> de que se complete.

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

Llame a voided IDialog<TResult>, ignore el resultado y reinicie la espera del cuadro de diálogo original.

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

Llame a voided IDialog<TResult>, ignore el resultado y reinicie la espera del cuadro de diálogo original.

WaitToBot<T>(IDialog<T>)

Publique en la cadena el mensaje en el bot una vez completado el antecedente.

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

Una vez completado el antecedente IDialog<TResult> , evalúe el predicado y decida si desea continuar.

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

Cree un IDialog<TResult> objeto que represente un bucle while.

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

Decora un cuadro de diálogo con un objetocorable para que un objeto grabable pueda participar en la pila de diálogos.

Se aplica a