It is very important to understand when and where to use access modifiers.
5) protected internal
1) private : It is visible to only the same class .You cannot access the variable from any other class, even by creating an object or by inheriting it to a child class.
private Var A
2) public : It is visible through out the project and the variable can be accessed from other project.
public Var A
3) protected : It is visible inside the class. It cannot be accessed directly from other class. It has to be inherited to access it.
protected Var A
4) internal : It is visible all over the project except from other project or applications
internal Var A
5) protected internal : It is visible all over the project except from other procect or applications. It can be accessed in other project only by inheriting the base class.
protected internal Var A
I am sorry for being very short in defining.