Compartir a través de


Niveles de accesibilidad (Referencia de C#)

Utilice los modificadores de acceso, public, protected, internal o private para especificar uno de los siguientes niveles de accesibilidad declarados 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.

protected internal

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 protected internal.

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

None

class

private

public

protected

internal

private

protected internal

interface

public

None

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, consulte la Especificación del lenguaje C#. La especificación del lenguaje es la fuente definitiva de la sintaxis y el uso de C#.

Vea también

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

Conceptos

Guía de programación de C#

Otros recursos

Referencia de C#