代码之家  ›  专栏  ›  技术社区  ›  Stephen Nutt

如何在COM对象中实现Dispose

  •  0
  • Stephen Nutt  · 技术社区  · 17 年前

    System.Runtime.InteropServices.Marshal.ReleaseComObject

    看来正确的解决方案是实现托管对象 所以 使用 当不再需要对象时。

    2 回复  |  直到 17 年前
        1
  •  2
  •   1800 INFORMATION    17 年前

    疯狂就是这样。最好将COM对象包装在实现IDisposable的类型安全的.Net包装器中(如果愿意的话),或者使用.Net垃圾收集的常规方法来清理它们自己。

        2
  •  2
  •   Ant    17 年前

    您可以按照1800条信息的建议使用.NET包装器,然后记住始终将其与using语句一起使用,正如您所说:

    using( var connection = GetDisposableConnection() )
    {
        //do stuff
    }
    

    GC.Collect();
    GC.WaitForPendingFinalizers();
    GC.Collect();
    
    推荐文章