我有以下抽象类,需要实现IDisposable以确保DbContent将被正确处理。
public abstract class DataRepositoryBase<T> : DataRepositoryBase<T, MainDbContext>
where T : class, IIdentifiableEntity, new()
{
}
实现这一目标的最佳方式是什么?
请注意:我非常了解如何在具体类中使用IDisposable,但在抽象类中实现此功能 - 不是很清楚
答案 0 :(得分:0)
我会接受这个答案中提供的实现:
Proper use of the IDisposable interface
如果派生类型需要处理东西,记住调用base,派生类型会覆盖Dispose(bool disposing)
方法。如果它不需要,那么根本不对基础实现做任何事情。
确保在这种类型的公共合同上公开调用Dispose
的需要是有意义的,这可能是泄露抽象的标志(尽管并非总是如此)。
这至少是一个好的开始。