Access Modifiers (Access Specifiers) describes as the scope of accessibility of an Object and its members. All C# types and type members have an accessibility level .
We can
control the scope of the member object of a class using access specifiers. We
are using access modifiers for providing security of our applications.
When we
specify the accessibility of a type or member we have to declare it by using
any of the access modifiers provided by CSharp language.
C# provide
five access specifiers , they are as follows :
public,
private , protected , internal and protected internal .
public :
public is the most common access specifier in C# . It can be access from anywhere, that means there is no restriction on accessibility. The scope of the accessibility is inside class as well as outside. The type or member can be accessed by any other code in the same assembly or another assembly that references it.
private :
The scope of the accessibility is limited only inside the classes or struct in which they are declared. The private members cannot be accessed outside the class and it is the least permissive access level.
protected :
The scope of accessibility is limited within the class or struct and the class derived (Inherited )from this class.
internal :
The
internal access modifiers can access within the program that contain its
declarations and also access within the same assembly level but not from
another assembly.
protected internal :
Protected
internal is the same access levels of both protected and internal. It can
access anywhere in the same assembly and in the same class also the classes
inherited from the same class .