C# Dispatcher.Invoke在vs2010中工作,但在vs2008中给出错误
我明天早上必须提交我的WPF项目;它在VS2010中运行得很好,但在VS2008.NET3.5中使用C时都出现了错误 我正在使用Dispatcher.Invoke使用计时器,但在VS 2008中,它给出了错误: 错误163 System.Windows.Threading.Dispatcher.InvokeSystem.Windows.Threading.DispatcherPriority、System.Delegate的最佳重载方法匹配的参数无效 下面的代码给出了错误:C# Dispatcher.Invoke在vs2010中工作,但在vs2008中给出错误,c#,wpf,timer,compiler-errors,dispatcher,C#,Wpf,Timer,Compiler Errors,Dispatcher,我明天早上必须提交我的WPF项目;它在VS2010中运行得很好,但在VS2008.NET3.5中使用C时都出现了错误 我正在使用Dispatcher.Invoke使用计时器,但在VS 2008中,它给出了错误: 错误163 System.Windows.Threading.Dispatcher.InvokeSystem.Windows.Threading.DispatcherPriority、System.Delegate的最佳重载方法匹配的参数无效 下面的代码给出了错误: Dispatcher
Dispatcher.Invoke(new Action(() =>
{
// ANY ACTIONS HERE
.. some task
}), null);
代码必须在VS 2008中运行。听起来VS 2008版本的目标是.NET 3.0,而不是3.5。在.NET 3.5中添加了,错误消息表明正在找到.NET 3.0 您可以通过以下方式轻松地使用3.0重载重做工作调用:
Dispatcher.Invoke(DispatcherPriority.Normal, new Action(() =>
{
// ...some task
}));
非常感谢,你救了我,先生。实际上我也这么做了,但是忘记了删除null。现在它可以正常工作了。请再帮我一个忙,给我推荐一本关于线程的好书,再次谢谢lot@NidhiSharma你可以在我的博客上读一些介绍性的东西,不过它是基于.NET4的。不过,我真的建议您从.NET4+学习它,因为所有的新特性都比旧的API好得多