C#中类的默认访问修饰符是什么

这个要看类的位置,


如果类,结构,代理,枚举是外置的,那修饰符只有: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 




原文地址:https://www.cnblogs.com/rickyliu/p/2780686.html