为什么我们在实现派生接口的类上重新实现派生接口的父接口

泽山

我正在Microsoft Docs上研究 UOW 模式并看到以下代码

interface IStudentRepository: IDisposable
{
    void SomeMethod();
}
// Interface Implementaion

class StudentRepository: IStudentRepository, IDisposable
{
   public void SomeMethod(){}
   public void Dispose(){}
}

现在我的问题是为什么我们要在实现派生接口的类上重新实现派生接口的父接口?例如,ISudentRepository 接口派生自 IDisposable 接口,但是当我们在 StudentRepository 类上实现 IStudentRepository 接口时,除了 IStudentRepository 接口之外,我们还实现了 IDisposable。

  1. 它会提供什么好处?
  2. 它解决了哪个问题?
  3. 还是完全没有必要/多余?

注意:我已经尝试了这段代码而没有再次重新实现 IDisposable 并且尝试来回转换;一切正常,因为它适用于重新实现。

托马斯·莱维斯克

IDisposable在实现的类上指定IStudentRepository是多余的。它根本没有效果。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

基类实现基本接口,而派生/混凝土类实现扩展接口,为什么呢?

来自分类Dev

C#:我的派生类无法覆盖基类的接口方法实现,为什么?

来自分类Dev

为什么我们在实现功能接口时需要编写“实现接口名称”?

来自分类Dev

为什么我们不能通过具体的类直接实现集合接口?

来自分类Dev

为什么派生自Comparer <T>类而不是实现IComparer <T>接口的实现类?

来自分类Dev

强制派生类实现接口

来自分类Dev

为什么我们需要实现接口以提供某些功能,而不是仅定义方法而不实现接口?

来自分类Dev

实现相同接口的接口内部的内部类,我们要实现什么?

来自分类Dev

用派生的属性实现接口

来自分类Dev

实现派生接口的基本成员

来自分类Dev

用派生的属性实现接口

来自分类Dev

为什么我不能在用具体类型替换接口的类上实现接口?

来自分类Dev

为什么不允许在派生接口上显式实现基本接口的方法?

来自分类Dev

为什么我们不能在聚合中具体实现基接口?

来自分类Dev

当基类实现抽象时,在派生类上指定实现接口

来自分类Dev

如何访问子类派生类中实现的接口方法?

来自分类Dev

如何创建从实现接口的基类派生的实例列表?

来自分类Dev

c#实现派生类中使用的接口变量

来自分类Dev

为什么Typescript类自动实现接口?

来自分类Dev

为什么我必须在实现类而不是仅接口类上使用@RequestParam批注?

来自分类Dev

C++ struct 实现派生接口

来自分类Dev

在TreeMap的情况下,如果将我们自己的类对象作为键传递,那么需要实现Comparable或Comparator的接口,为什么?

来自分类Dev

为什么<?扩展接口>而不是<?实现接口>

来自分类Dev

为什么<?扩展接口>而不是<?实现接口>

来自分类Dev

我们如何使用不同接口的默认实现?

来自分类Dev

我们如何测试一个类实现了许多接口?

来自分类Dev

当接口的方法没有任何实现我们必须每次都覆盖它们时,使用接口的目的是什么?

来自分类Dev

当我们用Java实现许多接口时,我们真正继承了什么?

来自分类Dev

C#可选参数:为什么要在接口和派生类上定义默认的不同?

Related 相关文章

  1. 1

    基类实现基本接口,而派生/混凝土类实现扩展接口,为什么呢?

  2. 2

    C#:我的派生类无法覆盖基类的接口方法实现,为什么?

  3. 3

    为什么我们在实现功能接口时需要编写“实现接口名称”?

  4. 4

    为什么我们不能通过具体的类直接实现集合接口?

  5. 5

    为什么派生自Comparer <T>类而不是实现IComparer <T>接口的实现类?

  6. 6

    强制派生类实现接口

  7. 7

    为什么我们需要实现接口以提供某些功能,而不是仅定义方法而不实现接口?

  8. 8

    实现相同接口的接口内部的内部类,我们要实现什么?

  9. 9

    用派生的属性实现接口

  10. 10

    实现派生接口的基本成员

  11. 11

    用派生的属性实现接口

  12. 12

    为什么我不能在用具体类型替换接口的类上实现接口?

  13. 13

    为什么不允许在派生接口上显式实现基本接口的方法?

  14. 14

    为什么我们不能在聚合中具体实现基接口?

  15. 15

    当基类实现抽象时,在派生类上指定实现接口

  16. 16

    如何访问子类派生类中实现的接口方法?

  17. 17

    如何创建从实现接口的基类派生的实例列表?

  18. 18

    c#实现派生类中使用的接口变量

  19. 19

    为什么Typescript类自动实现接口?

  20. 20

    为什么我必须在实现类而不是仅接口类上使用@RequestParam批注?

  21. 21

    C++ struct 实现派生接口

  22. 22

    在TreeMap的情况下,如果将我们自己的类对象作为键传递,那么需要实现Comparable或Comparator的接口,为什么?

  23. 23

    为什么<?扩展接口>而不是<?实现接口>

  24. 24

    为什么<?扩展接口>而不是<?实现接口>

  25. 25

    我们如何使用不同接口的默认实现?

  26. 26

    我们如何测试一个类实现了许多接口?

  27. 27

    当接口的方法没有任何实现我们必须每次都覆盖它们时,使用接口的目的是什么?

  28. 28

    当我们用Java实现许多接口时,我们真正继承了什么?

  29. 29

    C#可选参数:为什么要在接口和派生类上定义默认的不同?

热门标签

归档