vb.net - 有没有办法找出对象是否已被处理()?

标签 vb.net object try-catch dispose disposable

我有以下对象,稍后在我的代码中我想 dispose() 如果它存在。有没有办法找到它是否存在?

Public objExcel As Excel.Application

我能想到的最好方法是将处理放入 try...catch 块中,如下所示:
Try
   objExcel.dispose()
Catch ex As Exception
   'do nothing
End Try

有没有人有更优雅、更简洁的方法?

最佳答案

要完全处理 Excel 对象,您必须使用 marshal 类。 System.Runtime.InteropServices.Marshal .您还需要以相反的顺序释放所有 excel 对象 - 工作表、工作簿、excel 对象。如果没有,您可以在任务管理器中看到 Excel 进程。

System.Runtime.InteropServices.Marshal.FinalReleaseComObject(obgExcel)

关于vb.net - 有没有办法找出对象是否已被处理()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19432094/

相关文章:

vb.net - 比较两个字符串并找到字母位置匹配的位置

scala - 使用 Java 的包对象中定义的 Scala 类

Java 文件 I/O : If a 'hard-coded' file is not found, 如何提示用户输入文件?

c# - 在 C# 中,为什么在 finally block 的开头没有明确分配变量?

vb.net - 为什么在使用 SmtpDeliveryMethod.SpecifiedPickupDirectory 时,电子邮件上的密件抄送邮件 header 不起作用?

.net - Web浏览器控件处理javascript : popup

Python:将绑定(bind)方法更改为另一种方法

javascript - 如何在对象中重复对象的数组?

java - 什么是构造try catch语句以仅允许整数的正确方法?

.net - 如何计算用户在应用程序上花费的总时间?