TargetParameterCountException:参数计数不匹配。
请问这里发生了什么?
方法完成后,抛出此错误。
我已经尝试了其他一些主题,但我的情况有所不同。
有任何线索吗?
我正在使用这个Dispatcher,因为我有一个交叉线程问题。
void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
{
if (backgroundWorker.CancellationPending == true)
{
e.Cancel = true;
return;
}
e.Result = ...;
Dispatcher.BeginInvoke(DispatcherPriority.Normal,
(RunWorkerCompletedEventHandler)delegate
{
image1.Source = (BitmapImage)e.Result;
});
}
答案 0 :(得分:1)
RunWorkerCompletedEventHandler
委托需要您未提供(或使用)的参数,您可以将其更改为Action
:
Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action)delegate
{
image1.Source = (BitmapImage)e.Result;
});
如果你必须使用RunWorkerCompletedEventHandler
(这是毫无意义的),你可以调用相应的BeginInvoke
重载,并提供一个由两个对象组成的空数组,代表发送者和事件参数:
Application.Current.Dispatcher.BeginInvoke((RunWorkerCompletedEventHandler)delegate
{
image1.Source = (BitmapImage)e.Result;
}, DispatcherPriority.Normal, new object[2]);