Instrução Imports (tipo e namespace .NET)
Permite que nomes de tipo sejam referenciados sem a qualificação de namespace.
Sintaxe
Imports [ aliasname = ] namespace
' -or-
Imports [ aliasname = ] namespace.element
Partes
Termo | Definição |
---|---|
aliasname |
Opcional. Um alias ou nome de importação pelo qual o código pode se referir a namespace em vez da cadeia de caracteres de qualificação completa. Confira Nomes de elementos declarados. |
namespace |
Obrigatórios. O nome totalmente qualificado do namespace a ser importado. Pode ser uma cadeia de caracteres de namespaces aninhada para qualquer nível. |
element |
Opcional. O nome de um elemento de programação declarado no namespace. Pode ser qualquer elemento de contêiner. |
Comentários
A instrução Imports
permite que os tipos contidos em um determinado namespace sejam referenciados diretamente.
Você pode fornecer um único nome de namespace ou uma cadeia de caracteres de namespaces aninhados. Cada namespace aninhado é separado do próximo namespace de nível superior por um ponto (.
), como ilustra o exemplo a seguir:
Imports System.Collections.Generic
Cada arquivo de origem pode conter qualquer número de instruções Imports
. Elas devem seguir alguma declaraçâo de opção, como a instrução Option Strict
, e devem preceder declarações de elemento de programação, como as instruções Module
ou Class
.
Você só pode usar Imports
no nível do arquivo. Isso significa que o contexto de declaração para importação precisa ser um arquivo de origem, e não pode ser um namespace, uma classe, uma estrutura, um módulo, uma interface, um procedimento nem um bloco.
Observe que a instrução Imports
não disponibiliza elementos de outros projetos e assemblies para seu projeto. A importação não ocupa o lugar de definir uma referência. Ela apenas remove a necessidade de qualificar nomes que já estão disponíveis no seu projeto. Para obter mais informações, consulte "Importar elementos que contêm" em Referências a elementos declarados.
Observação
Você pode definir instruções implícitas Imports
usando a Página de Referências, Designer de Projeto (Visual Basic). Para mais informações, consulte Como adicionar ou remover namespaces importados (Visual Basic).
Aliases de importação
Um alias de importação define o alias para um namespace ou tipo. Os aliases de importação são úteis quando você precisa usar itens com o mesmo nome declarado em um ou mais namespaces. Para obter mais informações e um exemplo, consulte "Qualificar um nome de elemento" em Referências a elementos declarados.
Você não deve declarar um membro no nível do módulo com o mesmo nome de aliasname
. Se você fizer isso, o compilador do Visual Basic usará aliasname
apenas para o membro declarado e não o reconhecerá mais como um alias de importação.
Embora a sintaxe usada para declarar um alias de importação seja semelhante à usada para importar um prefixo do namespace de XML, os resultados são diferentes. Um alias de importação pode ser usado como uma expressão no seu código, enquanto um prefixo de namespace de XML pode ser usado apenas em literais XML ou propriedades do eixo XML como o prefixo para um nome qualificado de elemento ou atributo.
Nomes de elementos
Se você fornecer element
, ele deve representar um elemento de contêiner, ou seja, um elemento de programação que pode conter outros elementos. Os elementos de contêiner incluem classes, estruturas, módulos, interfaces e enumerações.
O escopo dos elementos disponibilizados por uma instrução Imports
depende se você especificar element
. Se você especificar apenas namespace
, todos os membros nomeados exclusivamente desse namespace e membros de elementos de contêiner dentro desse namespace estarão disponíveis sem qualificação. Se você especificar namespace
e element
, somente os membros desse elemento estarão disponíveis sem qualificação.
Exemplo 1
O exemplo a seguir lista todas as pastas no diretório C:\ usando a classe DirectoryInfo:
O código não tem instruções Imports
na parte superior do arquivo. Portanto, as referências DirectoryInfo, StringBuilder e CrLf são totalmente qualificadas com os namespaces.
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
Exemplo 2
O exemplo a seguir inclui instruções Imports
para os namespaces referenciados. Portanto, os tipos não precisam ser totalmente qualificados com os namespaces.
' 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
Exemplo 3
O exemplo a seguir inclui instruções Imports
que criam aliases para os namespaces referenciados. Os tipos são qualificados com os aliases.
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
Exemplo 4
O exemplo a seguir inclui instruções Imports
que criam aliases para os tipos de referência. Os aliases são usados para especificar os 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