我必须明天早上提交我的WPF项目;它可以在VS 2010中完美运行,但在使用C#的VS 2008中(两种情况下均为.NET 3.5)都会出错。
我正在使用一个使用Dispatcher.Invoke
的计时器,但是在VS 2008中,它给出了错误:
Error 163
The best overloaded method match forSystem.Windows.Threading.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority, System.Delegate)
has some invalid argument.
下面的代码给出了错误:
Dispatcher.Invoke(new Action(() =>
{
// ANY ACTIONS HERE
.. some task
}), null);
代码必须在VS 2008中起作用。
最佳答案
听起来好像VS 2008内部版本针对的是.NET 3.0,而不是3.5。在.NET 3.5中添加了overload you're using,并且错误消息表明已找到.NET 3.0。
您可以通过以下方法轻松地重用3.0重载来重新调用工作:
Dispatcher.Invoke(DispatcherPriority.Normal, new Action(() =>
{
// ...some task
}));
关于c# - Dispatcher.Invoke在vs2010中工作但在vs2008中给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15749836/