Pregunta

¿Cuál es la diferencia entre los internal y acceso private modificadores en C #?

¿Fue útil?

Solución

interna es para alcance de montaje (es decir, sólo se puede acceder desde el código de la misma .exe o .dll)

privado es para ámbito de clase (es decir, accesible sólo desde el código de la misma clase).

Otros consejos

Para una explicación a continuación. Puede comprobar este enlace para más detalles - http://www.dotnetbull.com/2013/ 10 / pública-privada protegida por la interna de acceso modificador-en-c.html

Privado:. - Los miembros privados sólo son accesibles dentro de la propia tipo (clase propia)

Interno:. - miembro interno son accesibles solamente dentro de la (su tipo derivado) de montaje por herencia o por instancia de la clase

introducir descripción de la imagen aquí

Referencia:

dotnetbull - lo que es modificador de acceso en C #

miembros internal son visibles para todo el código en la asamblea que se declaran en.
(Y para otros conjuntos de referencia usando el [InternalsVisibleTo] atributo )

miembros private son visibles sólo a la clase declarar. (Incluyendo clases anidadas)

Un exterior (no anidada) clase no puede ser declarada private, ya que no hay alcance que contiene para que sea privado a.

Para responder a la pregunta que se olvidó de preguntar, miembros protected son como miembros private, pero también son visibles en todas las clases que heredan el tipo declarar. (Pero sólo en una expresión de al menos del tipo de la clase actual)

Privado miembros son accesibles solamente dentro del cuerpo de la clase o de la estructura en la que se declaran.

Interno tipos o miembros son accesibles solamente dentro de los archivos en el mismo conjunto

Privado -. Encapsulados en la clase / ámbito / struct ect'

interna -. Encapsulación en asambleas

Interno le permitirá a la referencia, por ejemplo, una clase estática de acceso a datos (para la seguridad hilo) entre múltiples clases de lógica de negocios, mientras que no suscribirse a fin de heredar esa clase / tropezar con uno al otro en almacenes de conexiones, y en última instancia, evitar la concesión una clase DAL para promover el acceso a nivel público. Esto tiene un sinnúmero de soportes en el diseño y las mejores prácticas.

Entity Framework hace buen uso de este tipo de acceso

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top