3

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

我对 C# 8 接口实现概念有一个基本的混淆,如您所知,接口不仅仅是一个合同,为什么我们需要默认实现?它在概念上是否正确?为什么合同必须有实施?

4

1 回答 1

0

假设我们从不同地方的接口继承,如果我们想添加一个新成员并且我们不想影响任何现有的类这个改变。这就是我们使用当前版本的 C# 定义接口的方式,我们被卡住了。在 C# 8.0 中,我们可以通过为方法提供实现来解决这个问题。

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

文档

于 2019-12-23T14:15:40.780 回答