【发布时间】:2018-11-27 11:47:36
【问题描述】:
代表声明
delegate bool newDelegate(ref byte[] b,COMMAND req);
调度员呼叫
Dispatcher.CurrentDispatcher.Invoke( new newDelegate(MainWindow.processBuffer), b, request);
我正在尝试调用一个函数 processBuffer,该函数处理发送的缓冲区并更新 UI,完成后它应该以 bool 值返回成功或失败状态。
我正在使用以下语法来调用该函数。
语法:
公共对象调用(委托方法,参数对象[] args)
我如何访问返回的值?我错过了什么吗?还是做错了?
【问题讨论】:
-
请注意,
CurrentDispatcher将为它的当前线程创建一个新的 Dispatcher,它还没有一个。这肯定不是你想要的。 -
你的意思是我需要创建一个 Dispatcher 对象然后我应该使用实例调用方法?
-
除此之外,您不需要将回调声明为委托。只需致电
var result = Application.Current.Dispatcher.Invoke(() => yourCallback(ref b, request));
标签: c# .net wpf delegates dispatcher