C# private protected
Yes, but only under a specific condition. C# private protected means the member is accessible from the declaring class and from derived classes, but the derived class must be in the same assembly. It is effectively the intersection of private-style assembly encapsulation and protected inheritance access. This is useful when a library wants to expose an extension point to its own assembly's derived types without exposing that member to derived types in external assemblies.
private protected is a C# access modifier.
It permits access from derived types within the same assembly.
A derived type in another assembly cannot access it.
It is narrower than protected.
It is useful for framework/library internals and controlled inheritance extension points.