Miembro inaccesible

Definición: ¿Qué significa Miembro inaccesible?

Un miembro inaccesible, en el contexto de C #, es un miembro al que no puede acceder un tipo específico. Un miembro inaccesible al que no se puede acceder por un tipo puede serlo por otro tipo.

Un miembro inaccesible puede obtener el nivel de accesibilidad que controla su uso de otro código en el ensamblado en el que se declara o de otros ensamblados.

Un miembro de un tipo está diseñado para ser inaccesible desde ciertos tipos con el propósito de encapsularlo. La encapsulación de datos ayuda a proteger los datos dentro del objeto de daños accidentales, así como a ocultar detalles de implementación innecesarios al usuario del objeto.

Techinfo explica Miembro inaccesible

La accesibilidad de un miembro de un tipo está determinada por el tipo en el que reside y el modificador de acceso especificado durante su declaración. Los siguientes son los modificadores de acceso que se utilizan para especificar la accesibilidad:

  • Público: acceso tanto al ensamblado actual como a un ensamblado externo que hace referencia a él.
  • Privado: el acceso está limitado al tipo contenedor.
  • Protegido: el acceso está limitado a la clase contenedora o los tipos derivados del tipo contenedor.
  • Interno: el acceso está limitado solo al ensamblaje actual.
  • Interno protegido: el acceso está limitado al ensamblado actual oa los tipos derivados de la clase contenedora.

Por ejemplo, un tipo se puede declarar con un método que tiene un modificador protegido para que sea inaccesible fuera de la clase pero accesible para sus clases derivadas.

No todos los tipos de modificadores de acceso pueden utilizar en todos los contextos. Cuando un miembro de un tipo no incluye un modificador de acceso durante su declaración, su accesibilidad predeterminada es privada.

Según la restricción de accesibilidad en C #, varias construcciones requieren que un tipo sea al menos tan accesible como un miembro u otro tipo. Además, si el miembro es un método, delegado o indexador, el tipo de retorno y los tipos de parámetros deben ser al menos tan accesibles como el miembro en sí. El uso de un miembro inaccesible resultará en un error de tiempo de compilación.

Esta definición se escribió en el contexto de C #