美文网首页C语言程序园
C# 默认接口方法更新完成,很多细节问题尚待解决

C# 默认接口方法更新完成,很多细节问题尚待解决

作者: 编程小世界 | 来源:发表于2019-06-29 19:38 被阅读0次

随着对 默认接口方法 的支持越来越接近完成, 一些潜在的问题被提了出来

。虽然已经完成了很多工作,但这是一个复杂的特性,许多细节问题还没有解决。但首先,这里有一些已解决的问题。

接口允许使用 static 和 const 字段了。

除 == 和!= 之外 的操作符也可以在接口中实现。在类中定义的操作符总是优先于接口中定义的操作符,即使接口中定义的操作符更具体。同样,接口中适用的操作符会覆盖基接口中的操作符。

现在,在调用基类方法时可以跳过类了,下面这段话证实了这一点:

我们认为,我们已经批准使用新的 base(Type) 语法,其中,Type 是类类型(例如,跳过一个基类并调用基类的基类),但是我们应该明确地确认这一点。我们还应该确认 base(Type).M() 可能引用一个非虚成员 M。我们还应该确认一个可访问性需求:这个查找找到的 M 必须在调用发生的地方可访问(即通常的名称查找约束)。

在接口中声明受保护方法的特性仍然存在一些疑问,尽管它暂时得到了批准。

当一个类实现了一个方法,但是它的子类将其标记为抽象方法,这被称为“重新抽象(reabstraction)”。这是 Java 互操作性必需的,但是确切的语法仍然没有确定。本质上,问题是是否需要 abstract 关键字。此外,他们“需要确保运行时 [团队] 同意实现重新抽象”。

接口中的普通属性是抽象的,尽管它们看起来像类中自动实现的属性。但是,如果属性是静态的,它就不能是抽象的。这是否意味着在默认情况下,接口中声明的静态属性是自动实现的?

类中的分部方法被认为是私有的,因为它们没有可访问性修饰符。但是在接口中,缺少可访问性修饰符意味着该方法是公共方法。接口中分部方法的规则是什么?它们允许、不允许还是需要 private 关键字?

在默认方法中,object.MemberwiseClone() 是否可以访问?

最后,是否应该将该特性的正式名称命名为 RuntimeFeature.DefaultInterfaceImplementation?答:“LDM 并不关心它的名称。”

如果有想学习编程的初学者,可来我们的C/C++技术学习扣qun的哦:58,934,83-89里面免费送整套系统的C/C++教程!

相关文章

  • C# 默认接口方法更新完成,很多细节问题尚待解决

    随着对默认接口方法的支持越来越接近完成,一些潜在的问题被提了出来 。虽然已经完成了很多工作,但这是一个复杂的特性,...

  • 2020-07-04【接口组成更新】

    接口组成更新概述 默认方法 静态方法 私有方法

  • C# 8.0 中的新增功能

    C# 8.0 向 C# 语言添加了以下功能和增强功能: Readonly 成员 默认接口方法 模式匹配增强功能:S...

  • 接口组成更新

    接口组成更新概述结构组成常量public static final抽象方法public abstract默认方法(...

  • 接口的作用

    C#接口是一个让很多初学C#者容易迷糊的东西,用起来好像很简单,定义接口,里面包含方法,但没有方法具体实现的代码,...

  • C# 访问修饰符

    C# 【方法】默认访问级别 : private C# 【类】和【结构体】默认访问级别 : internal 1.命...

  • 函数式接口

    解决自定义的接口无法以Lamda 的方式提示和编写 函数式接口:只有一个抽象方法的接口(可有多个默认方法) jav...

  • C#篇

    简介 记录C#开发过程中遇到的问题解决方法,代码片段积累等格式:问题:(什么样的问题)解决方法:(如何解决,必填)...

  • JAVA篇

    简介 记录C#开发过程中遇到的问题解决方法,代码片段积累等格式:问题:(什么样的问题)解决方法:(如何解决,必填)...

  • 接口(interface)和抽象类(abstract class

    1、接口中的方法默认都是 public,所有方法在接口中不能有默认实现(Java8 开始接口方法可以有默认实现),...

网友评论

    本文标题:C# 默认接口方法更新完成,很多细节问题尚待解决

    本文链接:https://www.haomeiwen.com/subject/knxmcctx.html