Mau*_*ceL 5 c# excel interop garbage-collection com-interop
这是关于如何在c#中正确清理excel互操作对象的后续问题 .
gyst是在Excel命名空间内使用链接调用(例如ExcelObject.Foo.Bar())来防止COM对象的垃圾收集.相反,应该显式创建对所使用的每个COM对象的引用,并使用Marhsal.ReleaseComObject()显式释放它们.
是否仅在特定于Excel COM对象的链式调用后释放COM对象的行为?每当使用COM对象时,应用这种模式是否过度?
小智 6
在处理Office应用程序时,与其他许多COM库相比,处理版本更为重要,原因有两个.
对于常规的进程内COM库,未能正确清理的后果并不那么引人注目.当您的进程退出时,所有进程内库都会消失.如果你不再需要它时忘记在一个对象上调用ReleaseComObject,那么当对象最终确定时,它仍然会被最终处理掉.
也就是说,这不是编写草率代码的借口.