再会!我有个问题。假设我有一个实现 IDisposable 接口的类。此类具有某种也实现此接口的托管资源。这是我班级的最少代码。
class MyClass : IDisposable
{
private SomeContext _context = new SomeContext();
public void Dispose()
{
if(_context != null)
_context.Dispose();
}
}
然后我有一个问题。这个实现有多正确?更准确地说,它有多大的错误以及它有什么威胁?(我到处都看到了更复杂的 Dispose 模式实现)。似乎只有一个 IDisposable 字段(假设它在其内部正确实现了这种模式),为了正确释放资源,只需在正确的时间调用 _context 字段的 Dispose 方法即可. 我哪里错了?这样一个简单的实现是否适用于实践,为什么它通常不好?