Instrução Imports (.NET Namespace and Type)
Permite que nomes de tipo sejam referenciados sem qualificação de namespace.
Sintaxe
Imports [ aliasname = ] namespace
' -or-
Imports [ aliasname = ] namespace.element
Partes
Termo | Definição |
---|---|
aliasname |
Opcional. Um alias de importação ou nome pelo qual o código pode se referir em namespace vez da cadeia de caracteres de qualificação completa. Consulte Nomes de elementos declarados. |
namespace |
Obrigatório. O nome totalmente qualificado do namespace que está sendo importado. Pode ser uma cadeia de namespaces aninhados em qualquer nível. |
element |
Opcional. O nome de um elemento de programação declarado no namespace. Pode ser qualquer elemento de contêiner. |
Observações
A Imports
instrução 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 Imports
instruções. Elas devem seguir quaisquer declarações de opção, como a Option Strict
instrução, e devem preceder quaisquer declarações de elementos de programação, como Module
instruções ou Class
.
Você só pode usar Imports
no nível do arquivo. Isso significa que o contexto da declaração para importação deve ser um arquivo de origem e não pode ser um namespace, classe, estrutura, módulo, interface, procedimento ou bloco.
Observe que a Imports
instrução não disponibiliza elementos de outros projetos e assemblies para o seu projeto. A importação não substitui a definição de uma referência. Ele apenas elimina a necessidade de qualificar nomes que já estão disponíveis para o seu projeto. Para obter mais informações, consulte "Importando elementos que contêm" em Referências a elementos declarados.
Nota
Você pode definir instruções implícitas Imports
usando a página de referências, Project Designer (Visual Basic). Para obter mais informações, consulte Como adicionar ou remover namespaces importados (Visual Basic).
Importar aliases
Um alias de importação define o alias de um namespace ou tipo. Os aliases de importação são úteis quando você precisa usar itens com o mesmo nome declarados em um ou mais namespaces. Para obter mais informações e um exemplo, consulte "Qualificando 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 que aliasname
. Se você fizer isso, o compilador do Visual Basic usa aliasname
apenas para o membro declarado e não o reconhece 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 de namespace XML, os resultados são diferentes. Um alias de importação pode ser usado como uma expressão em seu código, enquanto um prefixo de namespace XML pode ser usado somente em literais XML ou propriedades de eixo XML como o prefixo para um elemento qualificado ou nome de atributo.
Nomes de elementos
Se você fornecer element
, ele deve representar um elemento container, 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 Imports
instrução depende de você especificar element
ou não . Se você especificar apenas namespace
, todos os membros nomeados exclusivamente desse namespace e os membros de elementos de contêiner dentro desse namespace estarão disponíveis sem qualificação. Se você especificar ambos namespace
e element
, somente os membros desse elemento estarão disponíveis sem qualificação.
Exemplo 1
O exemplo a seguir retorna todas as pastas no diretório C:\ usando a DirectoryInfo classe:
O código não tem instruções Imports
na parte superior do arquivo. Portanto, o DirectoryInfo, StringBuildere CrLf as referências são totalmente qualificados 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 Imports
instruções 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 Imports
instruções 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 Imports
instruções que criam aliases para os tipos referenciados. 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