C# provides different access modifiers to allow to define the scope for the classes and it’s members. We already discussed few of the modifiers in our previous Articles. In this Article, we will go through
protected internal access modifiers.
internal Access Modifier
internal access modifier in C# restricts the access of classes and it’s members to access within the namespace and it’s assembly only where they are defined.
If we do not specify any access modifier, by default it is
internal. The members defined with this access specifier can access only with in the namespace and the assembly where the namespace is defined.
protected internal Access Modifier
Another variation of
internal access modifier is,
protected internal access modifier; which defines additional restriction to the classes and it’s members to allowed to access them within the derived classes.
C# doesn’t allow us to create the class within the namespace with this modifier. If we try to create, C# compiler will throw the below Error message.
Elements defined in a namespace cannot be explicitly declared as private, protected, or protected internal
The members of both these access modifiers are NOT ALLOWED to access outside of it’s assembly.
We will discuss more topics in upcoming Articles.