摘自MSDN:直接在命名空间中声明的类和结构(即,没有嵌套在其他类或结构中的类和结构)可以是公共类和结构,也可以是内部类和结构。如果不指定访问修饰符,则默认为 internal。
可是,如果我将类的访问修饰符去掉时,VS里显示的类名前的图标是一个带锁的图标(private),而不是一个带信封的图标(internal)?可不是默认的访问是internal吗?这是怎么回事?而且我的类就直接写在命名空间下的,没有任何嵌套的.
大概是因为类是无法声明为private / protected / protected internal的,因此就把internal当作是private在用了,可以认为namespace是一种特殊的类,而class则是namespace下的对象,此时class相对于namespace就是private的了,当然图标在不同地方显示不同肯定是一个小小的bug,不过也不用在意,因为反正类不可能是private的