IDialog<TResult> Schnittstelle

Definition

A ist ein suspendierbarer Konversationsprozess, der ein Ergebnis vom Typ IDialog<TResult>TResulterzeugt.

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

Typparameter

TResult

Der Ergebnistyp.

Dieser Typparameter ist kovariant. Das bedeutet, dass Sie entweder den angegebenen Typ oder einen stärker abgeleiteten Typ verwenden können. Weitere Informationen zu Kovarianz und Kontravarianz finden Sie unter Kovarianz und Kontravarianz in Generics.
Abgeleitet

Hinweise

Dialoge können Kinderdialoge aufrufen oder Nachrichten an einen Benutzer senden. Dialoge werden ausgesetzt, wenn auf eine Nachricht vom Nutzer an den Bot gewartet wird. Dialoge werden fortgesetzt, wenn der Bot eine Nachricht vom Nutzer erhält.

Methoden

Name Beschreibung
StartAsync(IDialogContext)

Der Anfang des Codes, der den Gesprächsdialog darstellt.

Erweiterungsmethoden

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

Wenn das Antecedent IDialog<TResult> abgeschlossen ist, fangen und behandeln Sie alle Ausnahmen vom Typ E.

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

Wenn das Antecedent IDialog<TResult> abgeschlossen ist, fangen und bearbeiten Sie alle Ausnahmen.

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

Wenn das Antezedent IDialog<TResult> abgeschlossen ist, führt man die Fortsetzung aus, um das nächste IDialog<TResult>zu erzeugen.

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

Wenn das Antecedent IDialog<TResult> abgeschlossen ist, stoppt die Ausbreitung einer Ausnahme von E.

DefaultIfException<T>(IDialog<T>)

Wenn das Antecedent IDialog<TResult> abgeschlossen ist, stoppt die Ausbreitung der Ausnahme.

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

Führe einen Nebeneffekt aus, nachdem ein abgeschlossen ist IDialog<TResult> .

Loop<T>(IDialog<T>)

Schleife das IDialog<TResult> Forever.

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

Wenn das Antecedent IDialog<TResult> abgeschlossen ist, posten Sie das Element in die Event-Warteschlange.

PostToUser<T>(IDialog<T>)

Poste dem Nutzer das Ergebnis eines IDialog<TResult>.

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

Wenn das Antecedent IDialog<TResult> abgeschlossen ist, projiziert man das Ergebnis in ein neues IDialog<TResult>.

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

Wenn das Antecedent IDialog<TResult> abgeschlossen ist, wird das nächste IDialog<TResult>ausgeführt und die Projektion verwendet, um die Ergebnisse zu kombinieren.

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

Wenn das Antezedent IDialog<TResult> abgeschlossen ist, gehen Sie jedes ICase<T,R> durch und führen Sie das ContextualSelector<T,R>" des ersten ICase<T,R> aus, das der vom Antezedent-Dialog zurückgegebene Wert erfüllt.

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

Führe eine Aktion nach Abschluss IDialog<TResult> aus.

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

Ruf das Nulled IDialog<TResult>auf, ignoriere das Ergebnis und starte dann den ursprünglichen Dialog neu und warte.

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

Ruf das Nulled IDialog<TResult>auf, ignoriere das Ergebnis und starte dann den ursprünglichen Dialog neu und warte.

WaitToBot<T>(IDialog<T>)

Poste die Nachricht an die Kette, nachdem das Antecedent abgeschlossen ist.

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

Wenn das Antezedent IDialog<TResult> abgeschlossen ist, bewerten Sie das Prädikat und entscheiden, ob fortgesetzt werden soll.

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

Erstelle eine IDialog<TResult> Schleife, die eine while-Schleife darstellt.

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

Dekoriere einen Dialog mit einer Wertzahl, damit eine Wertende am Dialogstapel teilnehmen kann.

Gilt für: