Instrucción Imports (Tipo y espacio de nombres de .NET)
Permite hacer referencia a los nombres de tipo sin la calificación de espacio de nombres.
Sintaxis
Imports [ aliasname = ] namespace
' -or-
Imports [ aliasname = ] namespace.element
Partes
| Término | Definición |
|---|---|
aliasname |
Opcional. Alias de importación o nombre por el que el código puede hacer referencia en lugar de la cadena de calificación namespace completa. Vea Declared Element Names. |
namespace |
Necesario. Nombre completo del espacio de nombres que se va a importar. Puede ser una cadena de espacios de nombres anidada en cualquier nivel. |
element |
Opcional. Nombre de un elemento de programación declarado en el espacio de nombres . Puede ser cualquier elemento contenedor. |
Comentarios
La instrucción permite hacer referencia directamente a los tipos contenidos en un espacio de nombres Imports determinado.
Puede proporcionar un nombre de espacio de nombres único o una cadena de espacios de nombres anidados. Cada espacio de nombres anidado se separa del siguiente espacio de nombres de nivel superior por un punto ( ), como se muestra . en el ejemplo siguiente:
Imports System.Collections.Generic
Cada archivo de código fuente puede contener cualquier número Imports de instrucciones. Deben seguir las declaraciones de cualquier opción, como la instrucción , y deben preceder a las declaraciones de elementos Option Strict de programación, como las instrucciones o Module Class .
Solo puede usar Imports en el nivel de archivo. Esto significa que el contexto de declaración para la importación debe ser un archivo de origen y no puede ser un espacio de nombres, clase, estructura, módulo, interfaz, procedimiento o bloque.
Tenga en cuenta Imports que la instrucción no hace que los elementos de otros proyectos y ensamblados estén disponibles para el proyecto. La importación no toma el lugar de establecer una referencia. Solo elimina la necesidad de calificar nombres que ya están disponibles para el proyecto. Para obtener más información, vea "Importar elementos que contienen" en Referencias a elementos declarados.
Nota
Puede definir instrucciones Imports implícitas mediante la página Referencias, Project Designer (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 para un espacio de nombres o tipo. Los alias de importación son útiles cuando necesita usar elementos con el mismo nombre que se declaran en uno o varios espacios de nombres. Para obtener más información y un ejemplo, vea "Calificar un nombre de elemento" en Referencias a elementos declarados.
No debe declarar un miembro en el nivel de módulo con el mismo nombre que aliasname . Si lo hace, el Visual Basic usa solo para el miembro declarado y ya no lo aliasname reconoce como alias de importación.
Aunque la sintaxis utilizada para declarar un alias de importación es similar a la que se usa para importar un prefijo de espacio de nombres XML, los resultados son diferentes. Un alias de importación se puede usar como expresión en el código, mientras que un prefijo de espacio de nombres XML solo se puede usar en literales XML o propiedades de eje XML como prefijo para un nombre de atributo o elemento completo.
Nombres de elementos
Si proporciona , debe representar un elemento contenedor , es element decir, un elemento de programación que puede contener otros elementos. Los elementos de contenedor incluyen clases, estructuras, módulos, interfaces y enumeraciones.
El ámbito de los elementos puestos a disposición por Imports una instrucción depende de si se especifica element . Si solo especifica , todos los miembros con nombre único de ese espacio de nombres y los miembros de los elementos de contenedor dentro de ese espacio de nombres namespace están disponibles sin calificación. Si especifica y namespace , solo los miembros de ese elemento están disponibles sin element calificación.
Ejemplo 1
En el ejemplo siguiente se devuelven todas las carpetas del directorio \ C: mediante la DirectoryInfo clase :
El código no Imports tiene instrucciones en la parte superior del archivo. Por lo tanto, las referencias , y están todas DirectoryInfo StringBuilder CrLf calificadas 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
Ejemplo 2
En el ejemplo siguiente se Imports incluyen instrucciones para los espacios de nombres a los que se hace referencia. Por lo tanto, los tipos no tienen que estar completos 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
Ejemplo 3
En el ejemplo siguiente se Imports incluyen instrucciones que crean alias para los espacios de nombres a los que se hace referencia. Los tipos se califican 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
Ejemplo 4
En el ejemplo siguiente se Imports incluyen instrucciones que crean alias para los tipos a los que se hace referencia. Los alias se usan 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