标签: c# com interop
我正在尝试实现一个单例类,它在其中包含一个com对象。类实现了IDisposable接口,但是当我尝试实现finalization方法时,我得到了从另一个线程访问com对象的异常。
这是因为clr在完成对象时使用了不同的线程。
有没有办法实现这样的事情,或者我只是做错了什么?
答案 0 :(得分:3)
如果类 diectly 管理非托管资源,则只需要实现终结器。 COM对象包装在RCW(运行时可调用包装器)中,因此在类型和COM接口指针之间已存在托管类型。