我从A类调用COM方法
所以使.Net的线程模型与单线程公寓相同
我在A类的构造函数
中调用以下代码行Thread.CurrentThread.SetApartmentState(ApartmentState.STA);
但我得到了
无效的操作异常“无法设置指定的COM单元状态”
如何将当前线程设置为Single Threaded Apartment
答案 0 :(得分:4)
在新线程上调用COM方法并改为设置该线程的状态:
Thread newThread =
new Thread(new ThreadStart(MethodToCallCOMMethod));
newThread.SetApartmentState(ApartmentState.STA);
newThread.Start();