C#修饰符

143 阅读1分钟

类的访问修饰符主要有两个:internal和public,默认为internal;这里说的类包括接口、结构体、枚举、委托。

类成员的访问修饰符有四个:

publicprivateinternalprotected

指定了六个可访问性级别:

public
private
internal
protected
protected internal
private protected

内部成员的默认级别:

class: private     

enum : public     

interface(接口) : public   

struct(数据类型)结构,结构体:private

类成员的六个可访问级别说明:

  1. public:公有访问,不受任何限制,对任何类和成员都完全公开,无限制访问;
  2. private:私有访问,只限于本类成员访问,子类和实例都不能访问,子类也不能继承父类的私有属性或方法;
  3. internal:内部访问,只限于本项目内访问,其他项目不能访问(在VS.NET中的一个项目中,这里的项目是指单独的项目,而不是整个解决方案);
  4. protected:保护访问,只限于本类和子类访问,实例不能访问。虽然能被外界看到,但外界却不能调用,被保护的属性或方法都可以被子类所继承和调用;
  5. protected internal:内部保护访问,只限于本项目或者子类访问,其他不可访问;
  6. private protected:私有保护访问,访问限于本类或者当前程序集派生自包含类的类型;

访问级别约束:

父类和子类访问修饰符要保持一致;

方法的访问修饰符要和方法参数的访问修饰符保持一致;

注意:

private和protected的区别,在同一类中可视为一样,但在继承中就不同了,private在派生类中不可以被访问,而protected可以