c# - visual - Modificadores de acceso interno vs. privado
modificadores de acceso visual basic (6)
¿Cuál es la diferencia entre los modificadores de acceso internal
y private
en C #?
Encuentra una explicación a continuación. Puede consultar este enlace para obtener más detalles: http://www.dotnetbull.com/2013/10/public-protected-private-internal-access-modifier-in-c.html
Privado: - Los miembros privados solo son accesibles dentro del propio tipo (Clase propia).
Interno: - Los miembros internos son accesibles solo dentro del ensamblaje por herencia (su tipo derivado) o por instancia de clase.
Referencia:
http://www.dotnetbull.com/2013/10/public-protected-private-internal-access-modifier-in-c.html
Interno le permitirá hacer referencia, por ejemplo, a una clase estática de acceso a datos (para seguridad de subprocesos) entre varias clases de lógica de negocios, mientras que no los suscribe para heredar esa clase / viaje entre sí en grupos de conexiones y, en última instancia, evitar una clase DAL Promover el acceso a nivel público. Esto tiene innumerables respaldos en el diseño y las mejores prácticas.
Entity Framework hace un buen uso de este tipo de acceso.
internal
miembros internal
son visibles para todo el código en el ensamblado en el que están declarados.
(Y a otros conjuntos referenciados utilizando el atributo [InternalsVisibleTo]
)
private
miembros private
son visibles solo para la clase declarante. (incluyendo clases anidadas)
Una clase externa (no anidada) no se puede declarar private
, ya que no hay un ámbito de contenido para hacerla privada.
Para responder a la pregunta que olvidó hacer, protected
miembros protected
son como miembros private
, pero también son visibles en todas las clases que heredan el tipo de declaración. (Pero solo en una expresión de al menos el tipo de la clase actual)
Los miembros privados son accesibles solo dentro del cuerpo de la clase o la estructura en la que están declarados.
Los tipos internos o miembros son accesibles solo dentro de los archivos en el mismo ensamblaje
interno es para el ámbito del ensamblaje (es decir, solo se puede acceder desde el código en el mismo .exe o .dll)
privado es para el alcance de la clase (es decir, accesible solo desde el código en la misma clase).
privado - encapsulaciones en clase / alcance / estructura ect ''.
Interna - Encapsulamiento En Montajes.