C# Dispatcher.Invoke在vs2010中工作,但在vs2008中给出错误

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

我明天早上必须提交我的WPF项目;它在VS2010中运行得很好,但在VS2008.NET3.5中使用C时都出现了错误

我正在使用Dispatcher.Invoke使用计时器,但在VS 2008中,它给出了错误:

错误163 System.Windows.Threading.Dispatcher.InvokeSystem.Windows.Threading.DispatcherPriority、System.Delegate的最佳重载方法匹配的参数无效

下面的代码给出了错误:

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好得多