我有一个实现 IDisposable 的类
public class Foo: IDisposable {
public void Dispose() {
// do the disposing
}
}
然后我有一个以以下方式使用该类的方法:
void Bar() {
using (var f = new Foo()) {
// do whatever
}
}
当代码离开 using {...} 边界时,将调用 Foo 类的 Dispose 方法。如何在 Dispose 方法中检测代码是自愿使用块离开还是由于异常而离开?