In meinem Dialog Ich bin ein Benutzer eine Aufforderung Dialog zu senden:Bot-Framework C# senden Parameter in PromptChoice.Choice
PromptOptions<string> options = new PromptOptions<string>($"some var" + var,
"invalid",
"Exceeded",
context.Activity.ChannelId.ToLower() == "skype" || context.Activity.ChannelId.ToLower() == "webchat" || context.Activity.ChannelId.ToLower() == "emulator" ?
new List<string>() { "yes","no","exit", } :
new List<string>() { "yes", "exit", },
3);
PromptDialog.Choice(context, this.OnOptionSelected, options);
und in der Methode OnOptionSelected:
private async Task OnOptionSelected(IDialogContext context, IAwaitable<string> result)
{
string optionSelected = await result;
switch (optionSelected)
{
case "yes":
CallMethod(**Param1**, true);
break;
case "no":
CallMethod(**Param1**, false);
break;
case "exit":
context.Call(new ExitDialog(), this.ResumeAfterOptionDialog);
break;
}
}
Wie kann ich passieren Param1 zu die OnOptionSelected-Methode, damit ich sie dann verwenden kann?
Param 1 und Param 2 hängt von der Eingabeaufforderung ab? oder wie wirst du diese bekommen? –
Param1 und Param2 hängen nicht vom promptDialog ab. – JoaoFilipeClementeMartins
OK, weil Sie die Signatur der OnOptionSelected-Methode nicht ändern können. Also im Grunde müssen Sie mit BotState Option gehen –