c# - 了解 C# 中的调度程序

标签 c#

我正在观看有关异步 C# 5 的视频,在示例中他有一个异步方法和一个 lambda 回调函数。由于 lambda 回调函数在单独的线程上执行,因此尝试更改其中的 UI 会导致异常。

为了缓解这种情况,他使用 Dispatcher.RunAsync(...)

但是我对此感到困惑。我创建了一个新的 .NET 4.5 项目并试图找到 Dispatcher 类,但我无法在任何地方找到它。 Google 告诉我它在 System.Windows.Threading 命名空间中,但我的计算机上没有这个 dll,只有 System.Windows

我也不太明白它是如何工作的——查看 MSDN 文档我真的看不出 Dispatcher(大概处理所有线程)将如何在 UI 线程上做事——RunAsync 方法不会指定执行操作的线程。

我考虑过也许调度程序只是在用于创建调度程序的线程上运行一些东西,但是由于上述问题我无法在本地尝试这个,我不知所措。

谁能告诉我解决方案?

最佳答案

video您提到的是关于使用 Windows 运行时和 .NET Framework 4.5 开发 Windows 应用商店应用程序,他使用 RunAsync CoreDispatcher 的方法,它是新 Windows API 的一部分,位于命名空间 Windows.UI.Core 中。

在 00:20:21 停止并查看 IntelliSense

关于c# - 了解 C# 中的调度程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16103178/

相关文章:

c# - str.Split (".") 不能在 C# 交互式窗口中工作,但在 C# .Net 核心项目中工作?

c# - 在 ASP.NET 中,在 ListView 内的 div 中添加动态单选按钮列表

c# - SignalR .NET Core camelCase JSON 契约(Contract)解析器

c# - ASP.NET调用带参数的onclick函数

c# - Contract.Requires 在没有安装 Code Contracts 的情况下构建时会发生什么?

c# - String.Format - 参数列表问题

c# - 我们应该使用 Path.DirectorySeperatorChar C#

c# - Neo4jClient "CASE WHEN"连同返回

c# - MongoDB C# 可空日期时间查询

c# - 静态类如何从对象派生?