5

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

4

1 回答 1

4

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

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

在您的 dispose 方法中,您可以执行以下操作:-

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

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

于 2009-10-13T10:11:27.470 回答