Обновление: я отправил запрос на получение , чтобы добавить его в C # SDK, и при следующем выпуске он будет частью пакета bot.builder.Текущий выпуск 3.15.2.2 (на момент написания этой статьи), поэтому все, что выше, должно иметь его.он будет в SDK, поэтому вам не нужно будет использовать метод в этом ответе.
После более глубокого изучения я смог найти решение, которое будет работать без изменений вSDK и я подтвердили, что это уже работает в узле из коробки.Я еще добавлю изменения в запрос на извлечение, но это должно вам помочь.
Вы можете создать класс, который унаследует от PromptDialog
, и создать конструктор для PromptDialog.text, например так:
public class PromptDialogTextSpeak:PromptDialog
{
public static void Text(IDialogContext context, ResumeAfter<string> resume, IPromptOptions<string> promptOptions)
{
var child = new PromptString(promptOptions);
context.Call<string>(child, resume);
}
}
Мне удалось заставить это работать с помощью простого приглашения, такого как:
var text = "this is a prompt";
PromptOptions<string> qwerty = new PromptOptions<string>(text, speak: text);
PromptDialogTextSpeak.Text(context, AfterPrompt, qwerty);