Niveles de accesibilidad (Referencia de C#)
Actualización: noviembre 2007
Utilice los modificadores de acceso, public, protected, internal o private para especificar una de las siguientes accesibilidades declaradas para miembros.
Accesibilidad declarada |
Significado |
---|---|
public |
Acceso no restringido. |
protected |
Acceso limitado a la clase contenedora o a los tipos derivados de esta clase. |
internal |
Acceso limitado al ensamblado actual. |
protectedinternal |
Acceso limitado al ensamblado actual o a los tipos derivados de la clase contenedora. |
private |
Acceso limitado al tipo contenedor. |
Sólo se permite un modificador de acceso para un miembro o tipo, excepto cuando se utiliza la combinación protectedinternal.
Los modificadores de acceso no se pueden utilizar en espacios de nombres. Los espacios de nombres no presentan restricciones de acceso.
Según el contexto en el que se produce una declaración de miembro, sólo se permite declarar ciertos tipos de acceso. Si no se especifica ningún modificador de acceso en una declaración de miembro, se utiliza el tipo de acceso predeterminado.
Los tipos de nivel superior, que no están anidados en otros tipos, sólo pueden tener accesibilidad internal o public. La accesibilidad predeterminada para estos tipos es internal.
Los tipos anidados, que son miembros de otros tipos, pueden tener un tipo de acceso declarado como el que se indica en la siguiente tabla.
Miembros de |
Accesibilidad predeterminada |
Accesibilidades declaradas permitidas |
---|---|---|
enum |
public |
Ninguna |
class |
private |
public protected internal private protectedinternal |
interface |
public |
Ninguna |
struct |
private |
public internal private |
La accesibilidad de un tipo anidado depende de su dominio de accesibilidad, el cual se determina mediante la accesibilidad declarada para el miembro y el dominio de accesibilidad del tipo inmediato que lo contiene. Sin embargo, el dominio de accesibilidad de un tipo anidado no puede superar al del tipo contenedor.
Especificación del lenguaje C#
Para obtener más información, vea las secciones siguientes de Especificación del lenguaje C#.
3.5.1 Accesibilidad declarada
3.5.3 Acceso protegido para miembros de instancia
3.5.4 Restricciones de accesibilidad
10.3.5 Modificadores de acceso
10.3.8.2 Accesibilidad declarada
Vea también
Conceptos
Referencia
Modificadores de acceso (Referencia de C#)
Dominio de accesibilidad (Referencia de C#)
Restricciones en el uso de los niveles de accesibilidad (Referencia de C#)
Modificadores de acceso (Guía de programación de C#)