C#8接口默认实现

时间:2019-12-23 14:09:03

标签: c# .net c#-8.0 default-interface-member

尊敬的编辑,您为什么将此问题标记为基于意见的?我没有意见,我只是问了一个基本问题。

我对C#8接口实现概念有一个基本的困惑,您知道接口不只是一个Contract,为什么我们需要默认实现?概念上正确吗?为什么合同必须有实施?

1 个答案:

答案 0 :(得分:0)

如果要添加新成员,假设我们从不同位置的接口继承 并且我们不希望此更改影响任何现有的班级。  这就是我们使用当前版本的C#定义接口的方式,因此我们陷入了困境。 在C#8.0中,我们可以通过提供方法的实现来解决问题。

  

默认实现是C#8.0中强大的语言功能。尽管对于某些开发人员来说这似乎很危险,但其他开发人员肯定会对它感到满意。那些编写供公共使用的库和组件的人可能会发现默认实现特别有用,因为它们可以避免破坏接口的更改。

Document