【发布时间】:2020-07-10 11:07:10
【问题描述】:
【问题讨论】:
-
默认接口方法背后的理念是可扩展性。假设您已经拥有一个代码库。现在,一个新功能请求需要您的一个接口包含一个新方法。如果没有默认的接口方法,您将很难过。现在,您可以添加新方法,在需要的地方实现它,并且仍然让预先存在的代码仍然可以正常工作。
-
这个问题即使不是不可能,也很难在 Stack Overflow 上回答,因为它将基于意见。你问这是否是一个好的想法,你问做其他事情是否会是一个更好的想法。最好先检查一下 SO 上的问题和答案是否已经涵盖了您的问题,如果没有,请重写它以减少基于意见的程度。
-
有人问过这个问题(对于 Java,不是 C#,但原理实际上是相同的)on Software Engineering 并且有一些相对详细的答案(这样的理论/设计问题可能更适合 SE一般而言。)也有许多文章回答了这个问题,即 Red Hat 的博客,与 @Fildor 的评论类似,该博客指出“[它们] 提供了一种扩展接口的方法......而不会破坏以前的实现者”
-
如果您检查 正确 标签的描述,您会找到解释和示例。不,它不会破坏接口,它与基类不同。 DIM 用于与已经使用默认方法的平台(如 Android SDK)进行版本控制、特征和互操作性
标签: c# interface c#-8.0 default-interface-member