如果我的BaseUow已经实现了,我的UoW类是否需要实现IDisposable?

时间:2015-06-19 15:24:31

标签: c# inheritance multiple-inheritance idisposable unit-of-work

我为我的工作单元创建了一个名为BaseUoW的基类,它继承了IDisposable:

public class BaseUoW : IDisposable
{
}

我的问题是......如果我创建一个名为UserUoW的类,例如继承我的BaseUoW,UserUoW需要实现IDisposable还是由我的BaseUow处理

public class BaseUoW : IBaseUoW
{
}

或者

public class BaseUoW : IBaseUoW, IDisposable
{
}

IBaseUoW

public interface IBaseUoW
{
    virtual void Dispose(bool disposing);
    void Commit();
}

1 个答案:

答案 0 :(得分:1)

您不需要将它添加到类声明中,除非您想明确它的可读性。

但是,您可能需要的是添加protected virtual void Dispose(bool disposing){方法覆盖以执行子类'清理任务(如果有)。

有关要遵循的正确模式的详细信息,请参阅here

编辑:正如评论中所指出的,只有当您真正从基础BaseUoW课程扩展时才会这样做。因为你的“图片”显示它实现了一些其他的界面,而不是扩展你的基类。