Acerca da Utilização
BREVE DESCRIÇÃO
Permite indicar que espaços de nomes são utilizados na sessão.
DESCRIÇÃO LONGA
A using
instrução permite-lhe especificar que espaços de nomes são utilizados na sessão. Adicionar espaços de nomes simplifica a utilização de classes .NET e membro e permite-lhe importar classes de módulos.
A using
instrução tem de ser a primeira instrução no script.
Syntax
Para referenciar .NET Framework espaços de nomes:
using namespace <.NET-framework-namespace>
Para fazer referência aos módulos do PowerShell:
using module <module-name>
Nota
Import-Module
e a #requires
instrução só importa as funções, aliases e 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 seguinte obtém o hash criptográfico para a cadeia “Hello World”.
Tenha em atenção como as using namespace System.Text
e using namespace System.IO
simplificam as referências para [UnicodeEncoding]
dentro System.Text
e para dentro e [Stream]
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 seguinte pressupõe que um módulo com o nome "CardGames" foi carregado automaticamente.
As seguintes classes são definidas no módulo:
- Deck
- 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)