Global classes and class members each have an accessibility that specifies which other classes can legally access them. They are:
| Message Form | Data Form | CIL Equivalent | Available To |
|---|---|---|---|
| public | #Public | Public | All classes |
| qualified | #Qualified | FamOrAssem | Any subclass, and any class in the same assembly |
| restricted | #Restricted | Family | Subclasses |
| secret | #Secret | Assembly | Classes in the same assembly |
| supersecret | #SuperSecret | FamANDAssem | Subclasses in the same assembly |
| topsecret | #TopSecret | Private | The declaring class only |
It's easy to remember these. Accessibilities with "Secret" in the name confine member access within the assembly, while the others are accessible to referencing assemblies, at various levels.
For global classes, the only two allowed values are #Public and #Secret.