Share via


Acerca del uso

DESCRIPCIÓN BREVE

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

DESCRIPCIÓN LARGA

La using instrucción permite especificar qué espacios de nombres se usan en la sesión. Agregar espacios de nombres simplifica el uso de clases y miembros de .NET y permite importar clases desde módulos.

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

Syntax

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

using namespace <.NET-framework-namespace>

Para hacer referencia a los módulos de PowerShell:

using module <module-name>

Nota

Import-Module y la #requires instrucción solo importan las funciones del módulo, los alias y las variables, según lo definido por 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 using namespace System.Text y using namespace System.IO simplifican las referencias a [UnicodeEncoding] en System.Text y [Stream] a [MemoryStream] en 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()

En el siguiente script se supone que se cargó automáticamente un módulo denominado "CardGames".

Las siguientes clases se definen en el módulo:

  • Presentación
  • 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)