Marshal.ReleaseComObject会调用垃圾收集器吗?

时间:2010-03-25 09:17:48

标签: .net com garbage-collection

一位同事今天被问到这个问题,在互联网上找不到任何线索...... 有人可以告诉我,如果调用Marshall.ReleaseComObject()直接调用垃圾收集器吗? 据我了解,它只删除COM引用,然后G.C.在下一次通过时清理记忆,但我可能会弄错......

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

在Reflector中查看ReleaseComObject的实现表明它没有。它最终调用了一个本机方法,但如果可能以某种方式强制垃圾收集,我会感到惊讶。

documentation of RCW

  

运行时在RCW上执行垃圾收集。

我会解释为RCW由常规GC处理。