Compartir a través de


Acerca del uso

DESCRIPCIÓN BREVE

Permite indicar qué espacios de nombres se utilizan en la sesión.

DESCRIPCIÓN LARGA

La using instrucción permite especificar qué espacios de nombres se utilizan en la sesión. La adición de espacios de nombres simplifica el uso de las clases y los miembros de .NET y permite importar clases de módulos.

La using instrucción debe ser la primera instrucción del script.

Sintaxis

Para hacer referencia a espacios de nombres de .NET Framework:

using namespace <.NET-framework-namespace>

Para hacer referencia a módulos de PowerShell:

using module <module-name>

Nota:

Import-Module y la instrucción #requires solo importan las funciones, alias y variables del módulo, tal como se define en el módulo. Las clases no se importan. La using module instrucción importa las clases definidas en el módulo. Si el módulo no se carga en la sesión actual, se produce un error en la using instrucción.

Ejemplos

El siguiente script obtiene el hash criptográfico de la cadena "Hola mundo".

Observe cómo el using namespace System.Text y using namespace System.IO simplifica las referencias a [UnicodeEncoding] in System.Text y [Stream] y to in [MemoryStream]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()

El siguiente script asume que un módulo llamado 'CardGames' se cargó automáticamente.

En el módulo se definen las siguientes clases:

  • Presentación de diapositivas
  • tarjeta
using module CardGames

[Deck]$deck = [Deck]::new()
$deck.Shuffle()
[Card[]]$hand1 = $deck.Deal(5)
[Card[]]$hand2 = $deck.Deal(5)
[Card[]]$hand3 = $deck.Deal(5)