这是一个关于下一步问题的提问,与如何正确清理C#中的Excel互操作对象相关。
要点是,在Excel命名空间中使用链接调用(例如ExcelObject.Foo.Bar())会阻止COM对象的垃圾收集。相反,应该显式创建对每个使用的COM对象的引用,并使用Marshal.ReleaseComObject()显式释放它们。
在链接调用后不释放COM对象的行为是否仅适用于Excel COM对象?是否过度运用此类模式,无论何时使用COM对象都要这样做?
要点是,在Excel命名空间中使用链接调用(例如ExcelObject.Foo.Bar())会阻止COM对象的垃圾收集。相反,应该显式创建对每个使用的COM对象的引用,并使用Marshal.ReleaseComObject()显式释放它们。
在链接调用后不释放COM对象的行为是否仅适用于Excel COM对象?是否过度运用此类模式,无论何时使用COM对象都要这样做?