这个要看类的位置, 如果类,结构,代理,枚举是外置的,那修饰符只有:public 和 internal,默认是internal。 至于private和protected是用来修饰类的成员。 在外置class前面加private,protected根本不会通过编译,不信你试试? 如果是内置的,就是作为另一个类型的成员,也称内部类型(inner type),这样的话,修饰符可以是全部可用修饰符,默认是private。 举例: class a {} 类a是internal class b { class a {} 类a是private }
public可以被任意存取; protected只可以被本类和其继承子类存取; internal只可以被本组合体(Assembly)内所有的类存取,组合体是C#语言中类被组合后的逻辑单位和物理单位,其编译后的文件扩展名往往是“.DLL”或“.EXE”。 private 是私有的 只能在一个类里面掉用
类和结构默认声明为内部的,除非向类定义添加了关键字 public
参考资料:http://msdn.microsoft.com/zh-cn/library/ms173121(VS.80).aspx