终结者与C#

时间:2017-05-24 07:21:22

标签: c# .net exception garbage-collection

虽然我知道终于终结者的工作情况,但我有一个需要澄清的澄清。

我遇到的情况是我打开与Datbabase实例的连接并执行操作。 喜欢

try 
{
  //Open a connection to db
  //Perform some operations.
}
catch(Exception e)
{
}
finally
{
 //Call the dispose method
}

在这里,我知道最终会被调用,所以每次都会发生处置。

接下来,在终结器中我处理连接。

public class DbConnection
{

  ~DbConnection()
   {
     //Call the dispose method
   }

}.

这两种方法正在执行相同的操作,即释放非托管资源。虽然终结器有时会出现问题,例如 “处理程序在被访问之前被终结器关闭”, 然后我为什么要使用终结器?在这种情况下,最终接近我的情况是否可行?

0 个答案:

没有答案