首页 > 解决方案 > 自动属性的默认接口方法和默认值

问题描述

鉴于自动属性编译为 get_method、set_method 和私有变量,并且由于 C# 8 引入了默认接口方法

接口中的属性可以有默认实现吗?

特别是只获得财产?

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

解决方案


不。


该提案说:

接口可能不包含实例状态。虽然现在允许使用静态字段,但接口中不允许使用实例字段。接口不支持实例自动属性,因为它们会隐式声明隐藏字段。

来源

另请参阅第 9 频道采访Mads Torgersen 的 C# 8 预览,他们在其中讨论了默认接口实现等。


默认接口方法不包含在随 Visual Studio 2019 Preview 1 一起发布的 C# 8.0(测试版)中。在撰写本文时,默认接口方法原型仍在开发中。请参阅Champion“默认接口方法”


推荐阅读