我有以下抽象类,需要实现IDisposable来确保DbContent始终正确地被处置。
public abstract class DataRepositoryBase<T> : DataRepositoryBase<T, MainDbContext>
where T : class, IIdentifiableEntity, new()
{
}
做到这一点的最佳方法是什么?
请注意:我对如何在具体类中使用IDisposable非常了解,但是在抽象类中如何实现此功能-不太清楚
我将采用此答案中提供的实现:
并且在派生类型中重写该Dispose(bool disposing)
方法,如果派生类型也需要处理东西,记住要调用base。如果不需要,则对基本实现不执行任何操作。
确保公开需要调用Dispose
此类型的公共合同是有道理的,这可能是抽象泄漏的迹象(尽管并非总是如此)。
至少这将是一个好的开始。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句