Lingua

IDialog<TResult> Interfaccia

Definizione

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

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

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.

Si applica a