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)