我可以强制收集特定类型的对象吗?

Can I force collection for objects of certain type only?

我有a problem with RCWs not being timely collected。我想到从内部代码定期强制启动垃圾收集。但是我不确定这是否会导致一些意外的减速。

我实际上对收集所有对象不感兴趣,我只需要收集 RCW,它们都有 System.__ComObject 类型。我想只收集它们会更快。

是否可以只对特定类型的对象强制进行垃圾回收?

不,这不可能,你只能强制垃圾收集器运行但你不能强制它按照你的逻辑工作。

有关垃圾收集器的更多信息,请阅读: https://msdn.microsoft.com/en-us/library/ee787088(v=vs.110).aspx

另外 GC 是静态的 class,我们不能覆盖它的任何方法:(