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

Actualización: noviembre 2007

Importa espacios de nombres o elementos de programación definidos en el proyecto actual o en proyectos y ensamblados a los que se hace referencia.

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

Partes

  • 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.

  • 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

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.

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 "Clases con el mismo nombre" en Resolver una referencia cuando muchas variables tienen el mismo nombre.

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 Resolver una referencia cuando muchas variables tienen el mismo nombre.

Nota:

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.

Reglas

  • Nombre de alias. 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.

  • Nombre de espacio de nombres. 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

  • Tipo 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.

Comportamiento

  • Ámbito. 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.

  • Calificación. El código situado fuera de un espacio de nombres o elemento contenedor normalmente deben calificar el nombre de un miembro con el nombre de ese espacio de nombres de elemento contenedor. La instrucción Imports hace que tal calificación sea innecesaria, a menos que su proyecto tenga acceso a otro miembro con el mismo nombre. En esos casos, puede especificar un aliasname en cada instrucción Imports. Así, sólo es necesario que los alias de importación califiquen los miembros con el mismo nombre.

Ejemplo

El ejemplo siguiente importa la clase Microsoft.VisualBasic.Strings y asigna un alias, str, que se puede utilizar para obtener acceso al método Left.

' Place Imports statements at the top of your program.
Imports str = Microsoft.VisualBasic.Strings
Class testClass1
    Sub showHello()
        ' Display only the word "Hello"
        MsgBox(str.Left("Hello World", 5))
    End Sub
End Class

Observe que en el ejemplo anterior se importa un espacio de nombres anidado, Strings dentro de VisualBasic dentro de Microsoft. Cuando MsgBox (Función, Visual Basic) tiene acceso al método Left, puede utilizar el alias str en lugar de la cadena de calificación completa, Microsoft.VisualBasic.Strings.

Vea también

Conceptos

Introducción a la biblioteca de clases de .NET Framework en Visual Studio

Espacios de nombres en Visual Basic

Referencia

Namespace (Instrucción)

Imports (Instrucción, Espacio de nombres XML)

Otros recursos

Visual Studio y .NET Framework