我有一个用c#编写的类,它充当COM组件的包装器。 COM组件是早期绑定的,RCW由Visual Studio生成。我应该在我的包装器类中实现一个dispose模式来清理COM引用,还是应该让GC处理它,因为它已经有一个RCW?
答案 0 :(得分:4)
很少有需要来实现Dispose,但通常有充分的理由这样做。
如果COM对象代表需要快速释放的重要资源,那么这可能是实现Dispose的一个很好的理由。
在您的处置方法中,您可以: -
System.Runtime.InteropServices.Marshal.ReleaseComObject(myRCW);
因此,处理您的类会立即释放COM对象。