我有一个类 (myClass),它有一个从 IDisposable 派生的类成员 (myDisposableMem),因此有一个 Dispose() 方法。如果它是一个局部变量,我可以使用 using(...) {...} 来确保在这个对象上调用 Dispose()。但它是一个班级成员。确保对成员调用 Disposed 的正确方法是什么?我可以想到两种方法:
1)在类中添加一个finallize(),然后在里面调用myDisposableMem.Dispose()
或者
2) 让我的类从 IDisposible 继承:
public class myClass : IDisposable
{
...
public void Dispose()
{
myDisposableMem.Dispose();
}
}
void main ()
{
using (myClass myObj = new MyClass())
{
....
}
}
或者也许有更好的方法?