为什么不像编译器那样在类接口中声明一个公共方法(这导致了我在这里得到的错误.NET Class Interface, Inheritance and Library: error does not implement interface member)。为什么我不能在界面中声明一个公共方法?
仅仅是因为语法还是因为更基本的东西?
确定它是隐含的,但为什么它会显得很痛?
为什么不像编译器那样在类接口中声明一个公共方法(这导致了我在这里得到的错误.NET Class Interface, Inheritance and Library: error does not implement interface member)。为什么我不能在界面中声明一个公共方法?
仅仅是因为语法还是因为更基本的东西?
确定它是隐含的,但为什么它会显得很痛?
接口是一个契约,在任何你可以访问接口的地方,你都应该能够访问它的所有方法。换句话说,接口中声明的所有方法都应该是公开的,所以它没有明确的说明。
LoL在我之前22秒钟 - oi =) – bitxwise 2011-04-20 16:15:03
确定它是隐含的,但为什么它会让它变得更加明显。 – user310291 2011-04-21 07:03:49
恕我直言,你应该只需要指定一些东西,当有替代品。例如:一个字段可以是私有的,公共的,受保护的和/或内部的,因此指定其中的一个比依赖默认更清晰。当没有其他选择时,为什么指定它?这是我不喜欢VB.NET的原因之一,像Function和Sub这样的关键字是如此的多余而且杂乱无章。 – 2011-04-21 11:58:54
接口方法是隐式公开的,所以声明它们是公有的是多余的。
您不能在接口中使用任何访问修饰符(例如,私有,部分)。这是因为实施班级负责标记方法的可访问性。它保持接口单数的目的,即定义类的签名,而不是定义它的访问限制。
以为它是常量,我认为这是在想什么语言设计者为什么不允许公共接口。
“类接口”? – BoltClock 2011-04-20 16:14:40