静态和接口 class 成员

Static and Interface class members

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

public受保护内部 protected internal,和private,都是access modifiers。 C# 中的每种类型都有默认的可访问性级别,因此您无需显式定义它们。

static 关键字是修饰符,但不是 访问修饰符。大多数修饰符需要显式声明。

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