Instrucción Imports (Tipo y espacio de nombres de .NET)
Permite hacer referencia a nombres de tipo sin calificación de espacio de nombres.
Imports [ aliasname = ] namespace
-or-
Imports [ aliasname = ] namespace.element
Elementos
Término |
Definición |
aliasname |
Opcional.Un alias de importación o nombre por el que el código puede hacer referencia a namespace en lugar de a la cadena calificada completa.Vea Nombres de elementos declarados (Visual Basic). |
namespace |
Obligatorio.Nombre completo del espacio de nombres que se importa.Puede ser una cadena de espacios de nombres anidada a cualquier nivel. |
element |
Opcional.El nombre de un elemento de programación declarado en el espacio de nombres.Puede ser cualquier elemento contenedor. |
Comentarios
La instrucción Imports permite hacer referencia directamente a los tipos incluidos en un espacio de nombres especificado.
Puede proporcionar un único nombre de espacio de nombres o una cadena de espacios de nombres anidados.Cada espacio de nombres anidado se separa del espacio de nombres de nivel más alto siguiente con un punto (.), como se muestra en el ejemplo siguiente.
Imports System.Collections.Generic
Cada archivo de código fuente puede contener cualquier número de instrucciones Imports.Éstas deben seguir las declaraciones de opción existentes, como la instrucción Option Strict, y deben preceder a cualquier declaración de elemento de programación como Module o Class.
Sólo puede utilizar Imports en el nivel de archivo.Esto significa que el contexto de declaración para la importación debe ser un archivo de código fuente y no puede ser un espacio de nombres, una clase, una estructura, un módulo, una interfaz, un procedimiento o un bloque.
Observe que la instrucción Imports no pone a disposición de su proyecto elementos de otros proyectos y ensamblados.La importación no sustituye el establecimiento de una referencia.Sólo quita la necesidad de calificar nombres que ya están disponibles para su proyecto.Para obtener más información, vea "Importar elementos contenedores" en Referencias a elementos declarados (Visual Basic).
[!NOTA]
Puede definir instrucciones implícitas Imports mediante Página Referencias, Diseñador de proyectos (Visual Basic).Para obtener más información, vea Cómo: Agregar o quitar espacios de nombres importados (Visual Basic).
Alias de importación
Un alias de importación define el alias de un espacio de nombres o tipo.Los alias de importación son útiles cuando es necesario utilizar elementos con el mismo nombre declarado en uno o más espacios de nombres.Para obtener más información y un ejemplo, vea "Calificar un nombre de elemento" en Referencias a elementos declarados (Visual Basic).
No se deben declarar miembros en el nivel de módulo que tengan el mismo nombre que aliasname.Si lo hace, el compilador de Visual Basic sólo utiliza aliasname para el miembro declarado y deja de reconocerlo como un alias de importación.
Aunque la sintaxis empleada para declarar un alias de importación es como la que se usa para importar un prefijo del espacio de nombres XML, los resultados son diferentes.Un alias de importación se puede usar como una expresión en el código, mientras que un prefijo de espacio de nombres XML únicamente se puede usar en literales de XML o en propiedades de eje de XML, como el prefijo para un elemento calificado o nombre de atributo.
Nombres de elemento
Si proporciona element, debe representar un elemento contenedor, es decir, un elemento de programación que puede contener otros elementos.Los elementos contenedores incluyen clases, estructuras, módulos, interfaces y enumeraciones.
El ámbito de los elementos que se vuelven disponibles mediante una instrucción Imports depende de si especifica element.Si especifica sólo namespace, todos los miembros con nombre único de ese espacio de nombres y miembros de elementos contenedores dentro de dicho espacio de nombres, están disponibles sin calificación.Si especifica namespace y element, sólo los miembros de ese elemento están disponibles sin calificación.
Ejemplo
El ejemplo siguiente devuelve todas las carpetas del directorio C:\ utilizando la clase DirectoryInfo.
El código no tiene ninguna instrucción Imports en la parte superior del archivo.Por lo tanto, las referencias DirectoryInfo, StringBuilder y CrLf son completas con los espacios de nombres.
Public Function GetFolders() As String
' Create a new StringBuilder, which is used
' to efficiently build strings.
Dim sb As New System.Text.StringBuilder
Dim dInfo As New System.IO.DirectoryInfo("c:\")
' Obtain an array of directories, and iterate through
' the array.
For Each dir As System.IO.DirectoryInfo In dInfo.GetDirectories()
sb.Append(dir.Name)
sb.Append(Microsoft.VisualBasic.ControlChars.CrLf)
Next
Return sb.ToString
End Function
En el ejemplo siguiente se incluyen instrucciones Imports de los espacios de nombres a los que se hace referencia.Por lo tanto, los tipos no debe ser completo con los espacios de nombres.
' Place Imports statements at the top of your program.
Imports System.Text
Imports System.IO
Imports Microsoft.VisualBasic.ControlChars
Public Function GetFolders() As String
Dim sb As New StringBuilder
Dim dInfo As New DirectoryInfo("c:\")
For Each dir As DirectoryInfo In dInfo.GetDirectories()
sb.Append(dir.Name)
sb.Append(CrLf)
Next
Return sb.ToString
End Function
En el ejemplo siguiente se incluyen instrucciones Imports que crean alias para los espacios de nombres a los que se hace referencia.Los tipos están calificados con los alias.
Imports systxt = System.Text
Imports sysio = System.IO
Imports ch = Microsoft.VisualBasic.ControlChars
Public Function GetFolders() As String
Dim sb As New systxt.StringBuilder
Dim dInfo As New sysio.DirectoryInfo("c:\")
For Each dir As sysio.DirectoryInfo In dInfo.GetDirectories()
sb.Append(dir.Name)
sb.Append(ch.CrLf)
Next
Return sb.ToString
End Function
En el ejemplo siguiente se incluyen instrucciones Imports que crean alias para los tipos a los que se hace referencia.Se utilizan alias para especificar los tipos.
Imports strbld = System.Text.StringBuilder
Imports dirinf = System.IO.DirectoryInfo
Public Function GetFolders() As String
Dim sb As New strbld
Dim dInfo As New dirinf("c:\")
For Each dir As dirinf In dInfo.GetDirectories()
sb.Append(dir.Name)
sb.Append(ControlChars.CrLf)
Next
Return sb.ToString
End Function
Vea también
Referencia
Imports (Instrucción, Espacio de nombres XML)
Conceptos
Espacios de nombres en Visual Basic