【发布时间】:2016-12-19 15:39:39
【问题描述】:
我听说在 Java 8 中,可以灵活地在接口中定义函数。我认为我们可以在所有实现此类接口的类中使用此功能具有一些默认状态。
那么,我的问题是,到目前为止,我们在 C# 中是否有任何此类功能?微软在这方面有什么计划吗?
【问题讨论】:
-
你的意思是像一个基类吗?
-
@TheLethalCoder 从语义上讲,将它们放在基类中并不是一回事。
-
您今天通过使用基类(可能是
abstract基类)来实现它,但是没有直接模拟 Java 8 支持的默认接口方法。 CLR/IL 在技术上允许实现此功能,但我认为未来的 C# 版本不会认真考虑它。 -
它们不存在,我不相信有任何计划让它们存在 - 如果打算避免这些事情的适当解决方案通常是为新功能声明一个新接口中断 API 更改。这个想法从来不适合我——接口用于指定合同,而不是行为。
-
将基础功能分解为实现接口的基类
标签: java c# default-interface-member