通过C#调用COM组件的包装类是否需要实现Dispose模式?

时间:2009-10-13 09:54:41

标签: c# com dispose rcw

我有一个用c#编写的类,它充当COM组件的包装器。 COM组件是早期绑定的,RCW由Visual Studio生成。我应该在我的包装器类中实现一个dispose模式来清理COM引用,还是应该让GC处理它,因为它已经有一个RCW?

1 个答案:

答案 0 :(得分:4)

很少有需要来实现Dispose,但通常有充分的理由这样做。

如果COM对象代表需要快速释放的重要资源,那么这可能是实现Dispose的一个很好的理由。

在您的处置方法中,您可以: -

 System.Runtime.InteropServices.Marshal.ReleaseComObject(myRCW);

因此,处理您的类会立即释放COM对象。