Sobre o uso
DESCRIÇÃO BREVE
Permite indicar quais namespaces são usados na sessão.
DESCRIÇÃO LONGA
A using
instrução permite que você especifique quais namespaces são usados na sessão. A adição de namespaces simplifica o uso de classes e membros do .NET e permite importar classes de módulos.
A using
instrução precisa ser a primeira instrução no script.
Syntax
Para fazer referência .NET Framework namespaces:
using namespace <.NET-framework-namespace>
Para fazer referência aos módulos do PowerShell:
using module <module-name>
Observação
Import-Module
e a instrução #requires
só importam as funções, os aliases e as variáveis do módulo, conforme definido pelo módulo. As classes não são importadas. A using module
instrução importa as classes definidas no módulo. Se o módulo não for carregado na sessão atual, a using
instrução falhará.
Exemplos
O script a seguir obtém o hash criptográfico para a cadeia de caracteres "Olá, Mundo".
Observe como e using namespace System.Text
using namespace System.IO
simplificam as referências para [UnicodeEncoding]
em System.Text
e [Stream]
e para [MemoryStream]
em .System.IO
using namespace System.Text
using namespace System.IO
[string]$string = "Hello World"
## Valid values are "SHA1", "SHA256", "SHA384", "SHA512", "MD5"
[string]$algorithm = "SHA256"
[byte[]]$stringbytes = [UnicodeEncoding]::Unicode.GetBytes($string)
[Stream]$memorystream = [MemoryStream]::new($stringbytes)
$hashfromstream = Get-FileHash -InputStream $memorystream `
-Algorithm $algorithm
$hashfromstream.Hash.ToString()
O script a seguir pressupõe que um módulo chamado 'CardGames' foi carregado automaticamente.
As seguintes classes são definidas no módulo :
- Conjunto
- Cartão
using module CardGames
[Deck]$deck = [Deck]::new()
$deck.Shuffle()
[Card[]]$hand1 = $deck.Deal(5)
[Card[]]$hand2 = $deck.Deal(5)
[Card[]]$hand3 = $deck.Deal(5)