不使用 using 语句处理 IDisposable 对象
Handling IDisposable object without the using statement
我确定这是一个简单的问题,但是在没有 using 语句的情况下处理 IDisposable
对象时我应该怎么做?
所有 using
构造所做的就是调用 Dispose()
,IDisposable
要求您实现。
所以你可以自己调用它,而不是:
using (IDisposable something = new SomeDisposableClass()) {
...
}
做:
IDisposable something = new SomeDisposableClass();
try {
...
} finally {
something?.Dispose();
}
注意 try..finally
的使用,这将确保即使出现异常也会调用 Dispose()
。
我确定这是一个简单的问题,但是在没有 using 语句的情况下处理 IDisposable
对象时我应该怎么做?
所有 using
构造所做的就是调用 Dispose()
,IDisposable
要求您实现。
所以你可以自己调用它,而不是:
using (IDisposable something = new SomeDisposableClass()) {
...
}
做:
IDisposable something = new SomeDisposableClass();
try {
...
} finally {
something?.Dispose();
}
注意 try..finally
的使用,这将确保即使出现异常也会调用 Dispose()
。