IDialog<TResult> Interface
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
A IDialog<TResult> é um processo conversacional suspensível que produz um resultado do tipo TResult.
public interface IDialog<out TResult>
type IDialog<'Result> = interface
Public Interface IDialog(Of Out TResult)
Parâmetros de Tipo Genérico
- TResult
O tipo de resultado.
Este parâmetro de tipo é covariante. Ou seja, pode utilizar o tipo que especificou ou qualquer tipo que seja mais derivado. Para obter mais informações sobre covariância e contravariância, veja Covariância e Contravariância em Genérico.- Derivado
Observações
Os diálogos podem chamar diálogos filhos ou enviar mensagens a um utilizador. Os diálogos são suspensos quando se espera uma mensagem do utilizador para o bot. Os diálogos são retomados quando o bot recebe uma mensagem do utilizador.
Métodos
| Name | Descrição |
|---|---|
| StartAsync(IDialogContext) |
O início do código que representa o diálogo conversacional. |
Métodos da Extensão
| Name | Descrição |
|---|---|
| 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 |
| Catch<T>(IDialog<T>, Func<IDialog<T>,Exception,IDialog<T>>) |
Quando o antecedente IDialog<TResult> estiver concluído, detete e trate de quaisquer exceções. |
| ContinueWith<T,R>(IDialog<T>, Chain.Continuation<T,R>) |
Quando o antecedente IDialog<TResult> estiver concluído, executa-se a continuação para produzir o próximo IDialog<TResult>. |
| DefaultIfException<T,E>(IDialog<T>) |
Quando o antecedente IDialog<TResult> estiver completo, para a propagação de uma exceção de |
| DefaultIfException<T>(IDialog<T>) |
Quando o antecedente IDialog<TResult> estiver concluído, para a propagação de Exceção. |
| Do<T>(IDialog<T>, Func<IBotContext,IAwaitable<T>,Task>) |
Execute um efeito secundário depois de concluir.IDialog<TResult> |
| Loop<T>(IDialog<T>) |
Repete o IDialog<TResult> para sempre. |
| PostEvent<T,E>(IDialog<T>, E) |
Quando o antecedente IDialog<TResult> estiver concluído, coloca o item na fila de eventos. |
| PostToUser<T>(IDialog<T>) |
Publique ao utilizador o resultado de um IDialog<TResult>. |
| Select<T,R>(IDialog<T>, Func<T,R>) |
Quando o antecedente IDialog<TResult> estiver completo, projeta 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 completo, executa-se 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 ICase<T,R> um e execute o ContextualSelector<T,R>" do primeiro ICase<T,R> que o valor devolvido pelo diálogo antecedente satisfaz. |
| Then<T,R>(IDialog<T>, Func<IBotContext,IAwaitable<T>,Task<R>>) |
Execute uma ação depois de concluída IDialog<TResult> . |
| Void<T,R>(IDialog<T>) |
Chama o voided IDialog<TResult>, ignora o resultado e depois reinicia o diálogo original e espera. |
| Void<T>(IDialog<T>, IDialogStack) |
Chama o voided IDialog<TResult>, ignora o resultado e depois reinicia o diálogo original e espera. |
| WaitToBot<T>(IDialog<T>) |
Publica na cadeia a mensagem para o bot depois de o antecedente estar 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>>) |
Cria 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 na pilha de diálogo. |