These are the following access modifiers present in C#, which define how a component or a field can be accessed by the other components.
public – available for access by all other components inside or outside its class or assembly
private – not available for access by any other component outside its class
internal – available for access by other components only within its assembly
protected – available for access by only its derived types
protected internal – available for access by only its derived types or other components within its assembly