【发布时间】:2009-05-25 15:34:26
【问题描述】:
这是我遇到的问题:我需要确保在 UI 线程上实例化了一个对象。如果不是,它应该抛出异常。但是如何在方法内部检查它是否在 UI 线程上运行?注意:我不想将任何信息传递给对象的构造函数。
完美的候选者是 DispatcherSynchronizationContext(SynchronizationContext 的 WPF 实现),它在内部保存对 Dispatcher 的引用,该引用引用了与其关联的线程,但不幸的是,该字段是私有的,因此我无法访问它。
【问题讨论】: