Как вернуть значение из Dispatcher.Invoke, который использует функцию делегата в качестве параметра - PullRequest
0 голосов
/ 27 ноября 2018

Заявление делегата

 delegate bool newDelegate(ref byte[] b,COMMAND req);


Диспетчерский звонок

Dispatcher.CurrentDispatcher.Invoke( new newDelegate(MainWindow.processBuffer), b, request);


Iя пытаюсь вызвать функцию processBuffer , которая обрабатывает отправленный буфер и обновляет пользовательский интерфейс, и по завершении она должна возвращать состояние успеха или ошибки как значение bool.Я использую следующий синтаксис для вызова функции.

Синтаксис:
открытый объект Invoke (метод делегата, объект params [] args)

Как получить доступ к возвращенному значению?Я что-то упускаю? Или делаю неправильно?

1 Ответ

0 голосов
/ 27 ноября 2018

Вы имеете в виду:

var returnedValue = Dispatcher.CurrentDispatcher
  .Invoke(new newDelegate(MainWindow.processBuffer), b, request);

Другой синтаксис:

var returnedValue = Dispatcher.CurrentDispatcher
  .Invoke((newDelegate)(MainWindow.processBuffer), b, request);

bool будет заключен в object.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...