Condividi tramite


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.IOusing 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)