public、private、protected、internal和protected internal都是C#中的访问控制修饰符,用于修饰类或者成员的可访问性级别。
- public:表示同一程序集中的任何其他代码或者引用该程序集中的其它程序集都可以访问该类型或成员
- private:表示只有同一类或者同一结构体中的代码可以访问该类型或成员
- protected:表示同一类或者该类派生的子类中的代码可以访问该类型或成员
- internal:表示同一程序集中的任何代码可以访问该类型或成员,但其它程序集中的代码不行
- protected internal:表示可从包含程序集内的任何类型访问基类的受保护的内部成员。也可以另一程序集中的派生类中访问它,前提是通过派生类类型的变量进行访问