静态和接口类成员

时间:2017-10-10 06:23:21

标签: interface static-classes

当我们将一个类声明为static时,我们需要将每个成员显式声明为Static,否则编译错误。 但是,当我们声明一个接口时,我们不需要将所有成员声明为public,它们在默认情况下是公共的。 知道为什么会出现这种行为吗?

1 个答案:

答案 0 :(得分:0)

公开受保护内部受保护的内部私有,都是access modifiers。 C#中的每个类型都有一个默认的可访问级别,因此您无需明确定义它们。

静态关键字是修饰符,但它不是访问修饰符。大多数修饰符需要明确声明。

至于为什么他们必须将静态类中的成员定义为静态,我不确定。这可能是因为静态类可以包含非静态(即可实例化的)嵌套类型;如果默认情况下将它们声明为静态,则可能会导致问题。