ThreadHelper 类

提供常规计划程序帮助器确保方法在应用程序的主线程调用。

继承层次结构

System.Object
  Microsoft.VisualStudio.Shell.ThreadHelper

命名空间:  Microsoft.VisualStudio.Shell
程序集:  Microsoft.VisualStudio.Shell.11.0(在 Microsoft.VisualStudio.Shell.11.0.dll 中)

语法

声明
Public MustInherit Class ThreadHelper
public abstract class ThreadHelper

ThreadHelper 类型公开以下成员。

构造函数

  名称 说明
受保护的方法 ThreadHelper 初始化 ThreadHelper 的新实例。

页首

属性

  名称 说明
公共属性静态成员 Generic 获取泛型 ThreadHelper。

页首

方法

  名称 说明
公共方法 BeginInvoke(Action)
公共方法 BeginInvoke(DispatcherPriority, Action)
公共方法静态成员 CheckAccess
公共方法 Equals 确定指定的对象是否等于当前对象。 (继承自 Object。)
受保护的方法 Finalize 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
公共方法 GetHashCode 用作特定类型的哈希函数。 (继承自 Object。)
受保护的方法 GetInvocationWrapper 获取调用包装。
公共方法 GetType 获取当前实例的 Type。 (继承自 Object。)
公共方法 Invoke(Action) 对 UI 线程的事件。
公共方法 Invoke<TResult>(Func{) 计算在 UI 线程上的函数。
受保护的方法 MemberwiseClone 创建当前 Object 的浅表副本。 (继承自 Object。)
公共方法 ToString 返回表示当前对象的字符串。 (继承自 Object。)

页首

备注

我们为主线程的便捷确定使用当前应用程序的计划程序。请注意这意味着必须由 windows 管理器初始化应用程序对象。

但是,在中,因为它们不是与 RPC 兼容,不使用 DispatcherOperation 对象。例如,在中,如果 UI 线程是在 RPC 元调用和代码必须在 UI 线程,然后 DispatcherOperation 对象通过不会发生。这是因为,将消息发送启动 DispatcherOperation 对象添加到 UI 线程,因此, UI 线程必须安排该消息。如果 UI 线程中执行一 RPC 调用,这些从队列中检索消息不会被移除。标准 OLE 消息筛选过程只能有限设置从该队列的消息。

通过将 SVsUIThreadInvokerPrivate 服务,操作在 UI 线程成为 COM 调用。此操作通过 Visual Studio 消息筛选器,允许如果它是的一部分同一逻辑调用,从消息筛选器将会发现,嵌套的调用可能不拒绝它。

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

请参见

参考

Microsoft.VisualStudio.Shell 命名空间