C# 访问修饰符

  1. public:最高访问级别,访问不受限制;
  2. protected:保护级别,只能自身以及派生类可以访问;
  3. internal:内部访问级别,只有是在同一程序集中才能访问;
  4. protected internal:内部保护级别,访问仅限于当前程序集或自身以及派生类访问;
  5. private:私有级别,最低访问级别,只能自身内部访问;
访问级别类内部派生类程序集内程序集外
默认?   
public????
protected??  
internal??? 
protected internal??? 
private?   
注意点
  1. 定义类变量、方法是,如果不写访问修饰符,默认为private
  2. 定义类时,如果不写访问修饰符,则默认为internal;
  3. 声明枚举类型以及接口类型,如果不加访问修饰符,则默认为public;
  4. 在CRL中,从基类派生时,允许放宽但不允许收紧成员的可访问级别(之所以不能收紧对基类方法的访问,是因为CLR可以使得派生类转换为基类,并获取对基类方法的访问权),但是在C#中,原始成员和重写成员具有相同的访问级别
  5. 基类的访问级别必须高于或者等于派生类的访问级别
 
 
 
 

相关文章