如何使用Dispose方法处理托管或非托管对象?
在我的应用程序类中实现了IDisposable接口并给出了重写方法Dispose()。但我真正怀疑的是如何在Dispose方法中处理托管代码或非托管代码。
public override void Dispose()
{
// What should i do for my unmanaged objects?
// can i make my object set to 'null'?
}
答案 0 :(得分:0)
dispose方法与using
语句一起使用。如果using
块关闭,它将自动调用。
class A : IDisposable
{
public void Dispose()
{
// Dispose
}
}
using (A a = new A())
{
}
您也不需要override
方法,因为它是在界面中定义的。
在任何情况下using
都会离开,将调用dispose。