Informazioni sull'uso
DESCRIZIONE BREVE
Consente di indicare quali spazi dei nomi vengono usati nella sessione.
DESCRIZIONE LUNGA
L'istruzione using
consente di specificare gli spazi dei nomi usati nella sessione. L'aggiunta di spazi dei nomi semplifica l'utilizzo di classi .NET e membro e consente di importare classi da moduli.
L'istruzione using
deve essere la prima istruzione nello script.
Sintassi
Per fare riferimento agli spazi dei nomi di .NET Framework:
using namespace <.NET-framework-namespace>
Per fare riferimento ai moduli di PowerShell:
using module <module-name>
Nota
Import-Module
e l'istruzione #requires
importa solo le funzioni del modulo, gli alias e le variabili, come definito dal modulo. Le classi non vengono importate. L'istruzione using module
importa le classi definite nel modulo. Se il modulo non viene caricato nella sessione corrente, l'istruzione using
ha esito negativo.
Esempio
Lo script seguente ottiene l'hash crittografico per la stringa "Hello World".
Si noti come e using namespace System.IO
using namespace System.Text
semplificare i riferimenti a [UnicodeEncoding]
in System.Text
e [Stream]
a [MemoryStream]
in 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()
Lo script seguente presuppone che un modulo denominato 'CardGames' sia stato caricato automaticamente.
Le classi seguenti sono definite nel modulo:
- Ponte
- Scheda
using module CardGames
[Deck]$deck = [Deck]::new()
$deck.Shuffle()
[Card[]]$hand1 = $deck.Deal(5)
[Card[]]$hand2 = $deck.Deal(5)
[Card[]]$hand3 = $deck.Deal(5)