我有两个班级:
public abstract class UnitOfWorkBase: IDisposable { }
public sealed class UnitOfWorkSql: UnitOfWorkBase { }
派生类的Dispose
方法通常如下所示:
protected override void Dispose (bool disposing)
{
if (!this.Disposed)
{
if (disposing)
{
// Managed.
}
// Unmanaged.
this.Disposed = true;
}
base.Dispose(disposing);
}
我总是在方法结束时看到对base.Dispose(disposing)
的调用。但是,在最近的场景中,需要在派生类中的对象之前配置基类的对象,如下所示:
protected override void Dispose (bool disposing)
{
base.Dispose(disposing);
if (!this.Disposed)
{
if (disposing)
{
// Managed.
}
// Unmanaged.
this.Disposed = true;
}
}
我不确定这是否被认为是不好的做法。有什么需要注意的吗?