Eri*_*ert 11
它是合理的,使对显式调用规则
Dispose()的有关IDisposable对象?
没有.
是否存在
using声明无法正确确保IDisposable清除对象的情况?
在某些情况下,使用using处理对象毫无意义.例如,对象的所需生命周期不受包含using语句的方法的特定激活的约束的所有情况.
考虑例如一个"接管"另一个一次性物体的一次性物体."外部"对象可以通过using块来处理,但是"内部"对象(可能存储在外部对象的私有字段中)如何在没有明确调用的情况下进行处理Dispose()?
在某些情况下,根本不可能避免显式调用Dispose并仍然保持正确的语义.例如,考虑IDisposable具有类型字段的对象IDisposable.他们必须明确要求Dispose处置该领域
class Container : IDisposable {
private readonly IDisposable _field;
public void Dipose() {
// Don't want a using here.
_field.Dispose();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2078 次 |
| 最近记录: |