C# interno

Los modificadores de acceso son imprescindibles en cualquier programación orientada a objetos. Los modificadores de acceso se usan para proteger sus datos al usarlos con los miembros de datos y las funciones de miembros. Estos modificadores de acceso son: público, privado, protegido e interno según las fuentes. El modificador de acceso interno funciona igual que el elemento de acceso privado, pero en diferentes niveles de programación. El modificador Privado funciona a nivel de clase, mientras que el modificador Interno funciona a nivel de ensamblaje. Hoy pensaremos en usar modificadores de acceso internos.

Contenidos

ejemplo 01

Antes de usar el modificador de acceso interno, primero debemos mirar el modificador de acceso «privado» en la programación de C#. Así que usamos el espacio de nombres personalizado llamado «Nuevo» que contiene dos clases. La clase Test contiene la función main() para iniciar la ejecución de este código. La instrucción Console.WriteLine() en esta función de controlador main() se usa para mostrar el texto «Método principal de la clase de prueba» en nuestras pantallas. Se creó un objeto «obj» para la clase «Nuevo» usando el nombre de la clase. La clase «Nuevo» contiene un elemento de datos privados «x» de tipo entero con el valor «14». Esto significa que el valor de la variable «x» no puede ser accedido por ninguna función de otras clases, incluso si son derivadas. La función main() utiliza el objeto «obj» de la clase New para actualizar el valor del elemento de datos privados «x» de la clase «New», es decir, actualmente no es posible. Después de llamar a la función show() con el objeto «obj» en el método main(), el método show() debe ejecutarse con el modificador de acceso «público». Debido al modificador de acceso privado con la variable «x», no parece ser el caso. Ambas clases están completas y el código está listo para usar. Primero debemos guardarlo con Ctrl+S y salir del editor cerrándolo con la cruz del editor de texto.

Después de guardar el código, debe compilarlo con el compilador mcs C# ya configurado en Linux. Este paso indispensable nos muestra que el error ocurrió en la línea 12 de nuestro código C#, es decir, la variable «x» no es accesible dentro de la clase de prueba como se define con el modificador de acceso privado. Así que tenemos que corregir este error.

Reabrimos el archivo C# en el editor de texto y actualizamos el código reemplazando el modificador de acceso privado de la variable «x» con el modificador de acceso público. No cambiaremos el código restante ya que no es obligatorio. Así que guardamos el código recién actualizado nuevamente.

Cuando usamos el comando del compilador mcs en el shell seguido del nombre de un archivo C#, el código se compiló correctamente. Después de eso, ejecutamos el archivo «exe» creado por el compilador de C# en el shell y se mostró el resultado, es decir, se actualizó un valor de «x».

ejemplo 02

Ahora echemos un vistazo al uso de modificadores de acceso internos para definir el alcance de algunas variables en las clases de código C#. Así que iniciamos este ejemplo de C# agregando la biblioteca del sistema y creando un Nuevo espacio de nombres dentro de ella. Este espacio de nombres contiene dos clases independientes denominadas New y Test. La clase «Test» contiene la función de código del controlador main(), mientras que la clase «New» contiene la variable entera «x» con un valor de 14, que se define mediante el modificador de acceso interno y la función show(). El nuevo objeto de clase «obj» se generó utilizando la palabra clave «nuevo» seguida del nombre de una clase. Este nuevo objeto de clase se usó en la siguiente línea para actualizar el valor de la variable «x» por «0». Ahora la variable «x» se actualiza correctamente porque la variable «x» se define con un modificador de acceso interno dentro del mismo conjunto de espacio de nombres «Nuevo». Se llamó a la función show() con el mismo objeto obj. Cuando se ejecuta la función show(), muestra el valor actualizado de «x» en el shell a través de la instrucción de la función Console.WriteLine().

Es hora de guardar rápidamente nuestro archivo de código con Ctrl+S y volver a la terminal. Ejecutamos el comando mcs de compilación de código C# para ejecutar el archivo internal.cs en el shell. Esta compilación fue exitosa y el archivo «exe» compilado para internal.cs se creó en nuestro directorio de trabajo actual. Usamos este archivo «exe» para ejecutarlo en el shell con el comando de tiempo de ejecución «mono». La salida fue exitosa como se muestra a continuación. La función main() se ejecuta primero de acuerdo con la cadena mostrada y, después de eso, se muestra con éxito el valor actualizado «0» de la variable «x».

Así es como funciona un modificador de acceso interno en código C# cuando se usa dentro del mismo espacio de nombres. Hagamos cambios en nuestro código para ver cómo un modificador de acceso interno afecta la ejecución del código C# cuando se usa en más de un ensamblaje. Ha creado dos espacios de nombres en el mismo código C#, es decir, Nuevo y Prueba. Dentro del espacio de nombres Nuevo, creamos una clase Nueva e inicializamos una variable modificadora de acceso interno x a un valor de 14. La misma clase del espacio de nombres «Nuevo» contiene la función «mostrar()» para mostrar el valor de «x». Por otro lado, el espacio de nombres Test contiene una clase Test con una función main(). Esta función main() crea un objeto de clase Nuevo a partir del otro espacio de nombres «Nuevo». El mismo objeto se usó para cambiar el valor de la variable «x» y para llamar a la función show() para mostrar el valor actualizado de la variable «x». Ahora la variable «x» se define en el espacio de nombres «Nuevo» mientras el objeto intenta acceder a ella desde el otro espacio de nombres «Prueba». Puede ocurrir un error debido al modificador de acceso interno con la variable «x». veamos eso ahora

Después de compilar este código, obtuvimos el error esperado, es decir, tipo protegido.

Para evitar este error de compilación, debemos actualizar el código desde el último código como el código anterior. Por lo tanto, eliminamos el espacio de nombres «Nuevo» del código y no eliminamos el espacio de nombres Prueba del código, como se muestra a continuación.

Después de la compilación y ejecución del código después de esta actualización, se ejecutó correctamente y mostró el valor modificado de la variable «x» en el shell, independientemente de su tipo interno.

Conclusión

Terminamos de implementar los ejemplos de modificadores de acceso internos en C#. Comenzamos este artículo con el ejemplo de discutir el modificador de acceso privado para compararlo con los modificadores de acceso interno ya que ambos realizan la misma tarea en diferentes niveles de programación. Intentamos usar el modificador de acceso interno dentro del mismo espacio de nombres, dos espacios de nombres diferentes y sin un espacio de nombres definido dentro de la clase. Trabajamos su uso para proteger funciones y variables miembro de datos en C#.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.