https://docs.microsoft.com/es-es/dotnet/csharp/programming-guide/classes-and-structs/access-modifiers
- public: Puede obtener acceso al tipo o miembro cualquier otro código del mismo ensamblado o de otro ensamblado que haga referencia a éste. El nivel de accesibilidad de los miembros públicos de un tipo se controla mediante el nivel de accesibilidad del propio tipo.
- private: solamente el código de la misma
class
o struct
puede acceder al tipo o miembro.
- protected: solamente el código de la misma
class
, o bien de una class
derivada de esa class
, puede acceder al tipo o miembro.
- internal: Puede obtener acceso al tipo o miembro cualquier código del mismo ensamblado, pero no de un ensamblado distinto. Es decir,
internal
se puede tener acceso a tipos o miembros desde el código que forma parte de la misma compilación.
- protected internal: cualquier código del ensamblado en el que se ha declarado, o desde una
class
derivada de otro ensamblado, puede acceder al tipo o miembro.
- private protected: se puede tener acceso al tipo o miembro mediante tipos derivados del objeto
class
que se declaran dentro de su ensamblado contenedor.