Error de C#: inaccesible debido a su nivel de protección

Haider Ali 12 octubre 2023
  1. Inaccesible debido a su nivel de protección en C#
  2. la solución al error
Error de C#: inaccesible debido a su nivel de protección

Esta guía enseñará sobre el error que los nuevos programadores suelen encontrar en C#, que es inaccesible debido a su nivel de protección. La razón es que los nuevos programadores no están familiarizados con muchos conceptos relacionados con la programación orientada a objetos.

Requiere mucho tiempo y práctica. Si se ha encontrado con este error, le daremos la solución.

Inaccesible debido a su nivel de protección en C#

Antes de encontrar la solución para este error en particular, debemos comprender el concepto denominado modificadores de acceso en C# o cualquier otro lenguaje de programación orientado a objetos.

Entonces, ¿qué son los modificadores de acceso? Sigue leyendo.

¿Qué son los modificadores de acceso en C#?

En C#, los modificadores de acceso definen el alcance de la accesibilidad de una clase, incluidos sus métodos y miembros de campo. En C#, hay seis tipos diferentes.

Por ejemplo, si le damos a una clase el modificador de acceso public, será accesible para todos en el programa. No hay límites sobre quién puede asistir a la clase pública.

Veamos todos los modificadores de acceso disponibles en C#.

  1. Public: el acceso a los miembros públicos no está restringido.
  2. Private: solo se puede acceder a la definición de la clase. Si no se especifica ningún modificador de acceso en C#, este es el modificador de acceso predeterminado.
  3. Protected: solo se puede acceder a las clases protegidas dentro de las declaraciones de clase y las clases heredadas.
  4. Internal: solo tiene acceso el ensamblado del proyecto actual.
  5. Protected Internal: el acceso está restringido al ensamblado actual y los tipos heredados de la clase adjunta. Todos los miembros del proyecto actual y la clase derivada tienen acceso a las variables.
  6. protected private: el acceso está restringido a la clase o los tipos adjuntos heredados de la clase contenedora dentro del ensamblaje actual.

la solución al error

Suponga que no añade ningún modificador de acceso a una clase, sus miembros o sus métodos. En ese caso, el modificador de acceso internal se aplicará a la clase, y el modificador de acceso private se aplicará a sus métodos y campos por defecto, lo que puede ser la razón por la que está obteniendo este error.

Debido a que no asignó ningún modificador de acceso a sus variables, están configuradas para ser privadas como su estado predeterminado. Echa un vistazo al siguiente código.

namespace MyCsharp {
  class csharprogram {
    void method1() {}
    class csharpin {}
  }
}

Es posible que haya escrito su código como el anterior. Tienes que asignarle el modificador de acceso.

La forma de agregarle un modificador de acceso se proporciona en el siguiente código.

namespace MyCsharp {
  public class csharprogram {
    public void method1() {}
    public class csharpin {}
  }
}

Asignar el modificador de acceso public a su clase, variables y métodos le permitirá acceder a ellos en todo el paquete desde cualquier lugar. Puedes acceder a ellos desde cualquier lugar.

Autor: Haider Ali
Haider Ali avatar Haider Ali avatar

Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.

LinkedIn