This blog shows about the access modifiers used
Public - Access to
same assembly or another assembly that references it.
Private - Access to
same class or struct.
Protected - Access to
same class or struct, or in a class that is derived.
Internal - Access to
any code in the same assembly, but not from another assembly.
Protected Internal -
Access to any code in the assembly in which it is declared, or from within a
derived class in another assembly.