当我们将一个类声明为static时,我们需要将每个成员显式声明为Static,否则编译错误。 但是,当我们声明一个接口时,我们不需要将所有成员声明为public,它们在默认情况下是公共的。 知道为什么会出现这种行为吗?
答案 0 :(得分:0)
公开,受保护,内部,受保护的内部和私有,都是access modifiers。 C#中的每个类型都有一个默认的可访问级别,因此您无需明确定义它们。
静态关键字是修饰符,但它不是访问修饰符。大多数修饰符需要明确声明。
至于为什么他们必须将静态类中的成员定义为静态,我不确定。这可能是因为静态类可以包含非静态(即可实例化的)嵌套类型;如果默认情况下将它们声明为静态,则可能会导致问题。