提供常规计划程序帮助器确保方法在应用程序的主线程调用。
继承层次结构
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) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。