【问题标题】:Why I am able to write method definition in an Interface? [closed]为什么我能够在接口中编写方法定义? [关闭]
【发布时间】:2022-01-05 06:09:10
【问题描述】:

我一直都知道,我们不能在接口中编写方法定义,但是当我尝试这样做时,我能够做到。即使代码构建成功,也没有编译时错误。 是新功能还是别的什么?

环境细节 语言 - C#, 软件 - Visual Studio 2019, .Net 框架 - 5.0

enter image description here

【问题讨论】:

  • 这些前面的成员声明通常不包含正文。从 C# 8.0 开始,接口成员可以声明主体。
  • 所以,您怀疑它可能是一种新的语言功能。您是否想到查看您熟悉的版本和当前版本之间的“新增功能”文档?为什么不呢?

标签: c# .net interface


【解决方案1】:

来自docs.microsoft.com

从 .NET Core 3.0 上的 C# 8.0 开始,您可以在声明接口成员时定义实现。最常见的场景是将成员安全地添加到已被无数客户端发布和使用的接口中。

默认接口方法提供了一种使用新成员扩展接口的方法,而不会破坏以前的实现者。

【讨论】:

    猜你喜欢
    • 2019-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-15
    • 2019-11-24
    • 2015-08-18
    • 2019-01-28
    相关资源
    最近更新 更多