Я использую IDialog
в моем боте и один из моих методов, которые выполняются с помощью робота Framework с помощью context.Wait()
было два аргумента, а обычно:Аргументы типа для метода IDialogStack.Wait <R> (ResumeAfter <R> резюме) не может быть выведено из использования
public async Task MainScreenSelectionReceived(IDialogContext context,
IAwaitable<IMessageActivity> argument)
Я хочу добавить третий, дополнительный аргумент для этого метода, уточню, если я запускаю этот метод непосредственно из некоторого места в моем коде (в отличие от того, когда Bot Framework запускает его после context.Wait()
и получение сообщения от пользователя).
Так что я изменить метод следующим образом:
public async Task MainScreenSelectionReceived(IDialogContext context,
IAwaitable<IMessageActivity> argument,
bool doNotShowPrompt = false)
Из-за этого, в настоящее время все context.Wait
вызовы показываются как недействительные:
если удалить третью Эта ошибка исчезает аргумент из объявления метода.
сообщение, показанное на Visual Studio является:
Аргументы типа для метода IDialogStack.Wait (ResumeAfter резюме) не могут быть выведены из эксплуатации. Попробуйте явно указать аргументы типа.
Я предполагаю, что означает, что я должен назвать context.Wait
, как context.Wait<SOMETHING>
, но я понятия не имею, что писать вместо SOMETHING
.
Я не вещь, добавив дополнительный аргумент заставит все Wait генерировать ошибки. Сделали ли вы какие-либо другие изменения? Можете ли вы опубликовать код метода MainScreenSelectionReceived. –
@SethuBala ошибка исчезает, как только я удаляю третий аргумент из объявления метода – K48