【发布时间】:2018-08-21 06:43:28
【问题描述】:
接口和实现接口的类中的方法默认是公共的。他们不需要提到的访问器。
为什么属性,特别是在实现接口的类中,需要提到公共访问修饰符? 无论如何都不允许使用其他修饰符。
【问题讨论】:
-
谁告诉你方法默认是公共的,在实现接口的类中需要访问说明符。
-
这不准确。接口中的任何内容都是公共的,即使接口本身是内部的,因此您不能为接口的任何成员设置任何访问修饰符。在实现接口的类中,任何显式实现接口的方法都是公共的,您也不能对其设置任何访问修饰符,但是对于隐式实现接口的任何成员,您必须指定公共访问修饰符。任何其他修饰符都会产生编译错误。
-
好问题!我有我的假设,您可以在我的回答中读到,但我想知道@EricLippert 对此有何看法。
-
@IpsitGaur:为这个错误道歉。是的方法需要一个访问说明符。只有在显式接口实现的情况下才不需要提及。
标签: c# interface properties access-modifiers