【发布时间】:2010-11-17 00:51:35
【问题描述】:
我有以下代码:
public void Test(IMyInterface iInterface)
{
iInterface.CallMethod ( );
}
效果很好。但是,如果我更改要线程化的代码:
private IMyInterface myInterface;
public void Test(IMyInterface iInterface)
{
myInterface = iInterface;
new Thread ( new ThreadStart ( CallInterfaceMethod) ).Start ( );
}
public void CallInterfaceMethod ( )
{
myInterface.CallMethod ( )
}
当我使用线程时,我收到异常:
无法将“System.__ComObject”类型的 COM 对象转换为接口类型“IMyInterface”。 此操作失败,因为 IID 为“{GUID}”的接口的 COM 组件上的 QueryInterface 调用因以下错误而失败:不支持此类接口
但是接口应该支持就好了吧?有人对这里发生的事情有任何想法吗?
【问题讨论】: