如何从Dispatcher.Invoke返回值,其中使用委托函数作为参数

时间:2018-11-27 11:47:36

标签: c# .net wpf delegates dispatcher

代表声明

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


调度员呼叫

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


我正在尝试调用函数 processBuffer ,该函数处理发送的缓冲区并更新UI,并且在完成后它应返回成功或失败状态作为bool值。 我正在使用以下语法来调用该函数。

语法:
公共对象调用(委托方法,params对象[]参数)

我如何访问返回的值?我遗漏了什么?还是做错了?

1 个答案:

答案 0 :(得分:1)

您的意思是:

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

另一种语法:

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

bool将装在object中。