c# - Dispatcher.Invoke在vs2010中工作但在vs2008中给出错误

标签 c# wpf timer compiler-errors dispatcher

我必须明天早上提交我的WPF项目;它可以在VS 2010中完美运行,但在使用C#的VS 2008中(两种情况下均为.NET 3.5)都会出错。

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

Error 163
The best overloaded method match for System.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/

相关文章:

c# - ASP.Net MVC 4 使用属性还是 BaseController?

c# - 使用 Entity Framework 实现 MVVM 模式 - 添加删除

c# - 我收到此错误消息 : Access denied for user (Using password YES)

c# - 保护我的 ASP .NET 代码以供演示?

c# - 为什么这个看似简单的 Xpath 导航不起作用?

c# - 绑定(bind)到父 DataContext 中的依赖属性

java - 使用基于事件的计时器与轮询的性能注意事项

ios - WatchKit 定时器结束时的函数

java - 在 Java 中停止计时器事件

c# - C# 中静态只读变量和集合的奇怪行为