C# 是否可以在没有ContextBoundObject类的情况下使用带有ExitContext标志的WaitHandle.WaitOne?

C# 是否可以在没有ContextBoundObject类的情况下使用带有ExitContext标志的WaitHandle.WaitOne?,c#,.net,multithreading,synchronization,C#,.net,Multithreading,Synchronization,MSDN文档表明,可能还有其他使用ExitContext标志的方法。查看除了使用ContextBoundObject继承类之外,还有哪些其他方法可以输入非默认上下文?(我不能在我的应用程序中使用ContextBoundObject)线索在这句话中 即使您当前正在执行 方法对不派生的类执行 从ContextBoundObject,如字符串, 您可以处于非默认上下文中,如果 ContextBoundObject位于堆栈上 在当前应用程序域中 因此,基本上,您可以从一个类中调用WaitOne,该类不属

MSDN文档表明,可能还有其他使用ExitContext标志的方法。查看除了使用ContextBoundObject继承类之外,还有哪些其他方法可以输入非默认上下文?(我不能在我的应用程序中使用ContextBoundObject)

线索在这句话中

即使您当前正在执行 方法对不派生的类执行 从ContextBoundObject,如字符串, 您可以处于非默认上下文中,如果 ContextBoundObject位于堆栈上 在当前应用程序域中

因此,基本上,您可以从一个类中调用
WaitOne
,该类不属于
ContextBoundObject
的子类,您也不会有任何先入为主的概念,即
ContextBoundObject
以任何方式涉及到您的代码,但是所讨论的线程可能处于非默认上下文中,因为调用中的某个位置堆栈
ContextBoundObject
类的实例方法可能在您不知情的情况下运行

除此之外,没有其他进入非默认同步上下文的方法


有一篇关于线程的非常好的文章,其中包含了与同步上下文相关的附加信息。

感谢您发布这篇文章。不过,显然您也可以使用ContextAttribute。我仍然无法使用它,也无法看到没有ContextBoundObject时如何使用它的示例。我必须在这里诚实地说。我不熟悉
ContextAttribute
,也不熟悉它的用法。这让我们两个都不熟悉;)也许有人会对ContextAttribute有更多的了解。我想我必须提出一个新的问题,关于什么样的情景构成了非默认上下文。