Members of a class can have different kinds of accessibility. An accessibility keyword indicates what source code can access the member. The different types of accessibility are:
- public - All code can access the member
- private - Only other code in the class can access the member
- protected - Code in this class or any class that inherits from this class can access
- internal - Code in files in the same assembly (.dll or .exe) can access
- protected internal - Code in the same assembly or in classes that inherit from this class can access
Accessibility keywords can apply to the following kinds of members of a class: fields, properties, methods, constants, indexers, events, constructors and nested types. They can apply to both instance and static members.