¿Quieres saber cuáles son las sentencias de importación de VB.NET?

El efecto real de la declaración de Importaciones en VB.NET es a menudo una fuente de confusión para las personas que aprenden el idioma. Y la interacción con VB.NET References hace que la confusión sea aún mayor. Vamos a aclarar eso en este Consejo Rápido.

 

He aquí un breve resumen de toda la historia. Luego repasaremos los detalles.

 

Una referencia a un espacio de nombres VB.NET es un requisito y debe añadirse a un proyecto antes de que se puedan utilizar los objetos del espacio de nombres.

(Se agrega automáticamente un conjunto de referencias para las diferentes plantillas en Visual Studio o VB.NET Express. Haga clic en "Mostrar todos los archivos" en el Explorador de soluciones para ver cuáles son. Pero la declaración de Importaciones no es un requisito. En lugar de eso, es simplemente una conveniencia de codificación que permite usar nombres más cortos.

Ahora veamos un ejemplo real. Para ilustrar esta idea, vamos a utilizar el espacio de nombres System.Data, que proporciona la tecnología de datos ADO.NET.

 

System.Data se agrega a las aplicaciones de Windows como referencia de forma predeterminada utilizando la plantilla de aplicación de formularios de Windows de VB.NET.

 

--------

Haga clic aquí para ver la ilustración

Haga clic en el botón Atrás de su navegador para volver

--------

Al añadir un nuevo espacio de nombres a la colección de Referencias de un proyecto, los objetos de ese espacio de nombres también estarán disponibles para el proyecto. El efecto más visible de esto es que el Visual Studio "Intellisense" le ayudará a encontrar los objetos en los cuadros de menú que aparecen.

 

--------

Haga clic aquí para ver la ilustración

Haga clic en el botón Atrás de su navegador para volver

--------

 

Si intenta utilizar un objeto en su programa sin una Referencia, la línea de código genera un error.

 

--------

Haga clic aquí para ver la ilustración

Haga clic en el botón Atrás de su navegador para volver

--------

La declaración de Importaciones, por otra parte, nunca es necesaria. Lo único que hace es permitir que el nombre se resuelva sin estar totalmente cualificado. En otras palabras (énfasis añadido para mostrar las diferencias) ....

 

 Imports System.Data

Public Class Form1

   Inherits System.Windows.Forms.Form

   Private Sub Form1_Load( ...

      Dim Test As OleDb.OleDbCommand

   End Sub

End Class

and

 

 Imports System.Data.OleDb

Public Class Form1

   Inherits System.Windows.Forms.Form

   Private Sub Form1_Load( ...

      Dim Test As OleDbCommand

   End Sub

End Class

are both equivalent. But ...

 

 Imports System.Data

Public Class Form1

   Inherits System.Windows.Forms.Form

   Private Sub Form1_Load( ...

      Dim Test As OleDbCommand

   End Sub

End Class

 

resulta en un error de sintaxis ("Type 'OleDbCommand' is not defined") porque el sistema de calificación del espacio de nombres Imports.data no proporciona suficiente información para encontrar el objeto OleDbCommand.

Aunque la calificación de los nombres en el código fuente de su programa se puede coordinar en cualquier nivel de la jerarquía "aparente", todavía tiene que elegir el espacio de nombres correcto para hacer referencia. Por ejemplo, .NET proporciona un espacio de nombres System.Web y una lista completa de otros que comienzan con System.Web....

 

--------

Haga clic aquí para ver la ilustración

Haga clic en el botón Atrás de su navegador para volver

--------

 

Tenga en cuenta que hay dos archivos DLL completamente diferentes para las referencias. Usted SI tiene que escoger el correcto porque WebService no es un método en uno de ellos.

--------

Haga clic aquí para ver la ilustración

Haga clic en el botón Atrás de su navegador para volver

(0 votes)