IDialog<TResult> Interfaccia
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
A IDialog<TResult> è un processo conversazionale sospendibile che produce un risultato di tipo TResult.
public interface IDialog<out TResult>
type IDialog<'Result> = interface
Public Interface IDialog(Of Out TResult)
Parametri di tipo
- TResult
Tipo di risultato.
Questo parametro di tipo è covariante, ovvero puoi usare il tipo specificato o qualsiasi tipo più derivato. Per altre informazioni sulla covarianza e la controvarianza, vedi Covarianza e controvarianza nei generics.- Derivato
Commenti
I dialoghi possono chiamare dialoghi figli o inviare messaggi a un utente. I dialoghi vengono sospesi in attesa di un messaggio dall'utente al bot. I dialoghi ripresero quando il bot riceve un messaggio dall'utente.
Metodi
| Nome | Descrizione |
|---|---|
| StartAsync(IDialogContext) |
L'inizio del codice che rappresenta il dialogo conversazionale. |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| Catch<T,E>(IDialog<T>, Func<IDialog<T>,E,IDialog<T>>) |
Quando l'antecedente IDialog<TResult> è completo, si catturano e si gestiscono eventuali eccezioni di tipo |
| Catch<T>(IDialog<T>, Func<IDialog<T>,Exception,IDialog<T>>) |
Quando l'antecedente IDialog<TResult> è stato completato, individuare e gestire eventuali eccezioni. |
| ContinueWith<T,R>(IDialog<T>, Chain.Continuation<T,R>) |
Quando l'antecedente IDialog<TResult> è completo, si esegue la continuazione per produrre il successivo IDialog<TResult>. |
| DefaultIfException<T,E>(IDialog<T>) |
Quando l'antecedente IDialog<TResult> è completo, si ferma la propagazione di un'eccezione di |
| DefaultIfException<T>(IDialog<T>) |
Quando l'antecedente IDialog<TResult> è completato, si interrompe la propagazione di Eccezione. |
| Do<T>(IDialog<T>, Func<IBotContext,IAwaitable<T>,Task>) |
Esegui un effetto collaterale dopo aver completato un IDialog<TResult> ciclo. |
| Loop<T>(IDialog<T>) |
Ripeti il IDialog<TResult> per sempre. |
| PostEvent<T,E>(IDialog<T>, E) |
Quando l'antecedente IDialog<TResult> è completato, pubblica l'oggetto nella coda degli eventi. |
| PostToUser<T>(IDialog<T>) |
Pubblica all'utente il risultato di un IDialog<TResult>. |
| Select<T,R>(IDialog<T>, Func<T,R>) |
Quando l'antecedente IDialog<TResult> si è completato, si proietterebbe il risultato in un nuovo IDialog<TResult>. |
| SelectMany<T,C,R>(IDialog<T>, Func<T,IDialog<C>>, Func<T,C,R>) |
Quando l'antecedente IDialog<TResult> è completo, esegui il successivo IDialog<TResult>, e usa la proiezione per combinare i risultati. |
| Switch<T,R>(IDialog<T>, ICase<T,R>[]) |
Quando l'antecedente IDialog<TResult> è completo, si passa in rassegna ciascuna ICase<T,R> e si esegue il ContextualSelector<T,R>" del primo ICase<T,R> che soddisfa il valore restituito dal dialogo antecedente. |
| Then<T,R>(IDialog<T>, Func<IBotContext,IAwaitable<T>,Task<R>>) |
Esegui un'azione dopo che il IDialog<TResult> compito è finito. |
| Void<T,R>(IDialog<T>) |
Chiama il voided IDialog<TResult>, ignora il risultato, poi riavvia il dialogo originale aspetta. |
| Void<T>(IDialog<T>, IDialogStack) |
Chiama il voided IDialog<TResult>, ignora il risultato, poi riavvia il dialogo originale aspetta. |
| WaitToBot<T>(IDialog<T>) |
Pubblica nel chain il messaggio al bot dopo che l'antecedente è completato. |
| Where<T>(IDialog<T>, Func<T,Boolean>) |
Quando l'antecedente IDialog<TResult> è completo, si valuta il predicato e si decide se continuare. |
| While<T>(IDialog<T>, Func<T,IDialog<Boolean>>, Func<T,IDialog<T>>) |
Crea un IDialog<TResult> ciclo che rappresenti un ciclo while. |
| WithScorable<T,Item,Score>(IDialog<T>, IScorable<Item,Score>) |
Decora un dialogo con un punteggio, così che un scorabile possa partecipare allo stack di dialogo. |