Compartir a través de


Instrucción Imports (espacio de nombres y tipo de .NET)

Permite hacer referencia a nombres de tipo sin calificación de espacio de nombres.

Sintaxis

Imports [ aliasname = ] namespace
' -or-
Imports [ aliasname = ] namespace.element

Partes

Término Definición
aliasname Opcional. Alias o nombre de importación por el que el código puede hacer referencia en namespace lugar de a la cadena de calificación completa. Vea Nombres de elementos declarados.
namespace Obligatorio. Nombre completo del espacio de nombres que se va a importar. Puede ser una cadena de espacios de nombres anidados en cualquier nivel.
element Opcional. Nombre de un elemento de programación declarado en el espacio de nombres. Puede ser cualquier elemento contenedor.

Observaciones

La Imports instrucción permite hacer referencia directamente a los tipos contenidos en un espacio de nombres determinado.

Puede proporcionar un único nombre de espacio de nombres o una cadena de espacios de nombres anidados. Cada espacio de nombres anidado está separado 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 origen puede contener cualquier número de Imports instrucciones. Deben seguir cualquier declaración de opción, como la Option Strict instrucción , y deben preceder a cualquier declaración de elemento de programación, como Module instrucciones o 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, una clase, una estructura, un módulo, una interfaz, un procedimiento o un bloque.

Tenga en cuenta que la Imports instrucción no hace que los elementos de otros proyectos y ensamblados estén disponibles para el proyecto. La importación no tiene lugar al establecer una referencia. Solo quita la necesidad de calificar los nombres que ya están disponibles para el proyecto. Para obtener más información, vea "Importación de elementos contenedores" en Referencias a elementos declarados.

Importar alias

Un alias de importación define el alias de un espacio de nombres o un tipo. Los alias de importación son útiles cuando es necesario 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 compilador de Visual Basic solo usa aliasname para el miembro declarado y ya no lo reconoce como alias de importación.

Aunque la sintaxis usada 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 del eje XML como prefijo para un elemento calificado o nombre de atributo.

Nombres de elementos

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 disponibles por una Imports instrucción depende de si se especifica element. Si especifica solo , todos los miembros con nombre namespaceúnico de ese espacio de nombres y los miembros de los elementos contenedor dentro de ese espacio de nombres, están disponibles sin cualificación. Si especifica y namespaceelement, solo los miembros de ese elemento están disponibles sin cualificación.

Ejemplo 1

En el ejemplo siguiente se devuelven todas las carpetas del directorio C:\ mediante la DirectoryInfo clase :

El código no tiene instrucciones Imports en la parte superior del archivo. Por lo tanto, las DirectoryInforeferencias , StringBuildery 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

Ejemplo 2

En el ejemplo siguiente se incluyen Imports 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 incluyen Imports 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 incluyen Imports 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

Consulte también