【发布时间】:2020-06-19 01:03:37
【问题描述】:
如何在 finally 块中销毁对象。
例如
Public void fnName()
{
ClassName obj = new ClassName();
try {
}
catch() {
}
finally {
// destroy obj here
}
}
【问题讨论】:
-
obj = null;应该够了……
-
如果对象的Class实现了IDisposable,可以调用obj.Dispose()。
-
@FarhadJabiyev obj = null 如果变量 obj 是在函数范围内定义的(因为引用存在于堆栈中),那么它是非常没用的。您是否正在尝试清理资源?
-
好吧,因为它是一个局部变量,所以您实际上不必执行
obj=null;。如果它没有被其他任何地方引用,垃圾收集器会处理它。 -
正如 vesan 所说,让垃圾收集器来处理它。除非你的班级实现了
IDisposable,否则别担心