除了这些之外,在C#中销毁Excel COM Interop对象的方法有哪些:
object_instance = null;
System.GC.collect();
&
System.Runtime.InteropServices.Marshal.ReleaseComObject(object);
Run Code Online (Sandbox Code Playgroud)
请建议只使用内置技术,而不是像bigcannon等其他工具.
Cyl*_*Cat 16
踢球者是如果你没有删除对象的所有引用,即使GC.Collect也不会销毁它.
C#(或通常是.NET)中的规则是您不能破坏对象.Dispose()不会这样做.终结者不会这样做(规则2,除非你知道为什么需要它,否则不要使用终结器,也不要直接调用它).
对于.NET,这些是您需要做的事情:
Joh*_*n K 15
垃圾收集器是唯一可以销毁托管对象的机制,但通常不会显式调用它.你只是让它做它的事情.
就像你从不把自己的垃圾带到车厂一样,你只需把它放在拐角处.这总是垃圾人的责任.
您可以释放对事物的引用并使用IDisposable,终结器和析构函数清理它们,但不要销毁它们.
通过使用System.GC,您可以要求垃圾人尽早做事 - 只为自己请求自定义运行 - 但这通常搞砸了他的日程安排,他有更多的垃圾要处理,而不仅仅是你的,所以不推荐.