在抽象类中实现IDisposable

尤里

我有以下抽象类,需要实现IDisposable来确保DbContent始终正确地被处置。

public abstract class DataRepositoryBase<T> : DataRepositoryBase<T, MainDbContext>
    where T : class, IIdentifiableEntity, new()
{

}

做到这一点的最佳方法是什么?

请注意:我对如何在具体类中使用IDisposable非常了解,但是在抽象类中如何实现此功能-不太清楚

亚当·霍尔兹沃思(Adam Houldsworth)

我将采用此答案中提供的实现:

正确使用IDisposable接口

并且在派生类型中重写该Dispose(bool disposing)方法,如果派生类型也需要处理东西,记住要调用base。如果不需要,则对基本实现不执行任何操作。

确保公开需要调用Dispose此类型的公共合同是有道理的,这可能是抽象泄漏的迹象(尽管并非总是如此)。

至少这将是一个好的开始。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章