如何使用Dispose方法处理对象

时间:2015-09-30 06:47:02

标签: c# .net

如何使用Dispose方法处理托管或非托管对象?

在我的应用程序类中实现了IDisposable接口并给出了重写方法Dispose()。但我真正怀疑的是如何在Dispose方法中处理托管代码或非托管代码。

public override void Dispose()
{
   // What should i do for my unmanaged objects?

   // can i make my object set to 'null'?
}

1 个答案:

答案 0 :(得分:0)

dispose方法与using语句一起使用。如果using块关闭,它将自动调用。

class A : IDisposable
{
    public void Dispose()
    {
        // Dispose
    }
}

using (A a = new A())
{

}

您也不需要override方法,因为它是在界面中定义的。

在任何情况下using都会离开,将调用dispose。