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

Guía de programación de C#

Referencia

Palabras clave de C#

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#)

public (Referencia de C#)

private (Referencia de C#)

protected (Referencia de C#)

internal (Referencia de C#)

Otros recursos

Referencia de C#