Espacios de nombres en VB.NET

La forma más común en que la mayoría de los programadores usan los espacios de nombres VB.NET es decirle al compilador qué bibliotecas .NET Framework son necesarias para un programa en particular. Cuando elige una "plantilla" para su proyecto (como "Aplicación de formularios Windows Forms"), una de las cosas que está eligiendo es el conjunto específico de espacios de nombres a los que se hará referencia automáticamente en su proyecto. Esto hace que el código en esos espacios de nombres esté disponible para su programa.

Por ejemplo, algunos de los espacios de nombres y los archivos reales en los que se encuentran para una aplicación de formularios Windows Forms son:

Sistema> en System.dll
System.Data> en System.Data.dll
System.Deployment> System.Deployment.dll
System.Drawing> System.Drawing.dll
System.Windows.Forms> System.Windows.Forms.dll

Puede ver (y cambiar) los espacios de nombres y referencias para su proyecto en las propiedades del proyecto debajo de Referencias lengüeta.

Esta forma de pensar sobre los espacios de nombres hace que parezcan exactamente lo mismo que la "biblioteca de códigos", pero eso es solo una parte de la idea. El beneficio real de los espacios de nombres es la organización..

La mayoría de nosotros no tendremos la oportunidad de establecer una nueva jerarquía de espacio de nombres porque generalmente solo se hace una vez 'al principio' para una biblioteca de códigos grande y complicada. Pero, aquí, aprenderá cómo interpretar los espacios de nombres que se le pedirá que use en muchas organizaciones.

¿Qué hacen los espacios de nombres?

Los espacios de nombres permiten organizar las decenas de miles de objetos de .NET Framework y todos los objetos que los programadores de VB crean también en proyectos, para que no entren en conflicto.

Por ejemplo, si busca .NET para un Color objeto, encuentras dos. Hay un Color objeto en ambos:

Sistema de dibujo.
System.Windows.Media

Si agrega un Importaciones declaración para ambos espacios de nombres (también puede ser necesaria una referencia para las propiedades del proyecto) ...

Sistema de importaciones. Dibujo
Importaciones System.Windows.Media

... luego una declaración como ...

Dim a As Color

... se marcará como un error con la nota, "El color es ambiguo" y .NET señalará que ambos espacios de nombres contienen un objeto con ese nombre. Este tipo de error se denomina "colisión de nombres".

Esta es la verdadera razón de los "espacios de nombres" y también es la forma en que los espacios de nombres se utilizan en otras tecnologías (como XML). Los espacios de nombres permiten utilizar el mismo nombre de objeto, como Color, cuando el nombre se ajusta y aún mantiene las cosas organizadas. Podrías definir un Color objetar en su propio código y mantenerlo distinto de los de .NET (o el código de otros programadores).

Espacio de nombres MyColor
Color de clase pública
Sub color ()
' Hacer algo
End Sub
Clase final
Fin del espacio de nombres