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

Partes

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

Biblioteca de clases de .NET Framework

Namespace (Instrucción)

Imports (Instrucción, Espacio de nombres XML)

Conceptos

Espacios de nombres en Visual Basic

Referencias y la instrucción Imports (Visual Basic)

Otros recursos

Referencias a elementos declarados (Visual Basic)

Historial de cambios

Fecha

Historial

Motivo

Marzo de 2011

Se agregaron ejemplos.

Comentarios de los clientes.

Marzo de 2011

Información adicional sobre las observaciones.

Mejora de la información.