Dela via


Chain Klass

Definition

Ett flytande, länkbart gränssnitt för IDialogs.

public static class Chain
type Chain = class
Public Module Chain
Arv
Chain

Metoder

Case<R>(Regex, ContextualSelector<String,R>)

Konstruerar ett ärende baserat på ett reguljärt uttryck.

Case<T,R>(Func<T,Boolean>, ContextualSelector<T,R>)

Konstruerar ett ärende.

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

När antecedent har slutförts IDialog<TResult> fångar och hanterar du eventuella undantag av typen E.

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

När antecedent har slutförts IDialog<TResult> kan du fånga upp och hantera eventuella undantag.

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

När antecedent har slutförts IDialog<TResult> kör du fortsättningen för att skapa nästa IDialog<TResult>.

Default<T,R>(ContextualSelector<T,R>)

Konstruerar ett ärende som ska användas som standard.

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

När antecedent har slutförts IDialog<TResult> stoppar du spridningen av ett undantag för E.

DefaultIfException<T>(IDialog<T>)

När antecedent har slutförts IDialog<TResult> stoppar du spridningen av Undantag.

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

Kör en bieffekt när en IDialog<TResult> har slutförts.

Fold<T>(IDialog<IEnumerable<IDialog<T>>>, Func<T,T,T>)

Vik objekt från en uppräkning av dialogrutor.

From<T>(Func<IDialog<T>>)

Skapa en IDialog<TResult> som skapar en ny kopia av en annan IDialog<TResult> när den startas.

Loop<T>(IDialog<T>)

Loopa för evigt IDialog<TResult> .

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

När antecedent har slutförts IDialog<TResult> publicerar du objektet i händelsekön.

PostToChain()

Publicera meddelandet från användaren till Kedja.

PostToUser<T>(IDialog<T>)

Publicera till användaren resultatet av en IDialog<TResult>.

Return<T>(T)

Skapar en IDialog<TResult> som returnerar ett värde.

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

När antecedent har slutförts IDialog<TResult> projicerar du resultatet till en ny IDialog<TResult>.

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

När antecedent har slutförts IDialog<TResult> kör du nästa IDialog<TResult>och använder projektionen för att kombinera resultaten.

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

När antecedent har slutförts IDialog<TResult> går du igenom var ICase<T,R> och en och kör ContextualSelector<T,R>" för det första ICase<T,R> som det returnerade värdet i den föregående dialogrutan uppfyller.

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

Kör en åtgärd när åtgärden IDialog<TResult> har slutförts.

Unwrap<T>(IDialog<IDialog<T>>)

När den antecedent IDialog<TResult> där T är IDialog<TResult> klart packar du upp resultatet till en ny IDialog<TResult>.

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

Anropa den ogiltigförklarade IDialog<TResult>, ignorera resultatet och starta sedan om den ursprungliga dialogrutan.

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

Anropa den ogiltigförklarade IDialog<TResult>, ignorera resultatet och starta sedan om den ursprungliga dialogrutan.

WaitToBot<T>(IDialog<T>)

Publicera meddelandet i kedjan till roboten när den föregående har slutförts.

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

När antecedent har slutförts utvärderar du predikatet IDialog<TResult> och bestämmer om du vill fortsätta.

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

Skapa en IDialog<TResult> som representerar en while-loop.

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

Dekorera en dialogruta med en scorable, så att en okrigerbar kan delta i dialogstacken.

Gäller för