c#-访问修饰符
摘要表
调用方的位置 | public | protected internal | protected | internal | private protected | private |
---|---|---|---|---|---|---|
在类内 | ✔️️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
派生类(相同程序集) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
非派生类(相同程序集) | ✔️ | ✔️ | ❌ | ✔️ | ❌ | ❌ |
派生类(不同程序集) | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ |
非派生类(不同程序集) | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ |
类、记录和结构的成员的可访问性
- 类或记录的成员:
- public
- protected internal
- protected
- internal
- private protected
- private
- 结构的成员:
- 因为结构不支持继承,所以只能使用下面三种
- public
- internal
- private
类、记录和结构可访问性
- 直接在命名空间声明的类、记录和结构可使用如下访问修饰符:
- public
- internal, 不写默认使用internal
- 嵌套声明在其他类或结构的(作为类或结构的成员),可使用访问修饰符的情况同类、记录和结构的成员可访问性