c# - 我什么时候应该为 ApartmentState.STA 设置一个线程?

标签 c# .net

<分区>

我很想知道 C# .net 中何时使用 STA/MTA?

using (ManualResetEventSlim mre = new ManualResetEventSlim(false)) 
{       
    Thread _STAThread = new Thread(new ThreadStart(() =>                 
        {
             globalComObject = new ComClass();                     
             mre.Set();                     
             try                     
             {                         
                  Thread.CurrentThread.Join();
             }
             catch (ThreadAbortException)                     
             { } 
         }));
     _STAThread.SetApartmentState(ApartmentState.STA);                    
     _STAThread.IsBackground = true;                 
     _STAThread.Start();                 
     mre.Wait(); 
} 

最佳答案

在与 STA/MTA COM 对象进行互操作时会用到它们。

关于c# - 我什么时候应该为 ApartmentState.STA 设置一个线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8035893/

相关文章:

c# - 如何确保 typeof 和强制转换运算符在不同的加载上下文而不是默认加载上下文上运行

C#——TcpListener.Start() 导致 SocketException,消息为 "Only one usage of each socket address"

c# - Android 版本支持推送通知

c# - 检测到自引用循环 - 从 WebApi 获取数据到浏览器

c# - 在每个请求上验证 OpenId IdToken

C#:从泛型到值类型的转换

c# - .net 框架错误 (HRESULT 0x8007000B)

c# - 什么指令可用于在计算器中执行一系列计算?

c# - 如何动态设置哪些属性绑定(bind)到 DataGridView?

c# - NuGet 发布管理