C#的访问修饰符:
Public:可被所属类和成员以及不属于类的成员访问.
所修饰类的成员
可在任何情况下通过类的对象和类成员被使用.
所修饰的类类型
可在任何情况下被类的访问级别的类继承.
Internal:可被当前程序集访问
所修饰类的成员
在统一”解决方案”里的使用与Public相同(与命名空间无关).出了解决方案则不可被使用.
所修饰的类类型(其为类的默认修饰符)
在统一”解决方案”中,可被相同级别的类继承(也就是说被Internal修饰的类),不可被访问就别比自己高的类继承(Public修饰的类).
同时,在不同”解决方案”中,类类型不可被使用.
Protected:可被所属类或派生自所属类的类型访问.
所修饰类的成员
1. 可被类的内部对象(隐指针this) 和类成员使用,以及在类的内部所声明的类的对象使用.
2. 在其他类中声明的自身类的对象却不可访问自身的protected成员.
3. 在同一”命名空间”或不同”命名空间”下,派生自所属类的类就继承了父类的protected以及访问级别以上的类成员,所以他的使用与自身声明的成员无异,其规则参照上两条.
所修饰的类类型
其修饰符不能修饰类.
Private:仅所属类的成员才可以访问
所修饰类的成员(其为类成员的默认修饰符)
1. 可被类的内部对象和类成员使用,以及在类的内部所声明的类的对象使用.
2. 在其他类中声明的自身类的对象也不可访问自身的private成员.
3. 任何情况下,private成员不可被派生类继承.
所修饰的类类型
其修饰符不能修饰类.