Protected internal means that only derived types and types in the same assembly can access the member. It's strange, but it's a union relationship. Meaning, the member can be accessed by anything that can access members marked as internal OR protected.