Over het gebruik van
KORTE BESCHRIJVING
Hiermee kunt u aangeven welke naamruimten in de sessie worden gebruikt.
LANGE BESCHRIJVING
using
Met de instructie kunt u opgeven welke naamruimten in de sessie worden gebruikt. Het toevoegen van naamruimten vereenvoudigt het gebruik van .NET-klassen en -leden en stelt u in staat klassen uit modules te importeren.
De using
instructie moet de eerste instructie in het script zijn.
Syntax
Naar .NET Framework naamruimten verwijzen:
using namespace <.NET-framework-namespace>
Verwijzen naar PowerShell-modules:
using module <module-name>
Notitie
Import-Module
en de #requires
instructie importeert alleen de modulefuncties, aliassen en variabelen, zoals gedefinieerd door de module. Klassen worden niet geïmporteerd. Met using module
de instructie worden de klassen geïmporteerd die in de module zijn gedefinieerd. Als de module niet wordt geladen in de huidige sessie, mislukt de using
instructie.
Voorbeelden
Met het volgende script wordt de cryptografische hash voor de tekenreeks 'Hallo wereld' opgehaald.
Let op hoe de using namespace System.Text
en using namespace System.IO
de verwijzingen naar [UnicodeEncoding]
in System.Text
en [Stream]
naar [MemoryStream]
in System.IO
vereenvoudigen.
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()
In het volgende script wordt ervan uitgegaan dat een module met de naam 'CardGames' automatisch is geladen.
De volgende klassen worden gedefinieerd in de module:
- Dek
- Kaart
using module CardGames
[Deck]$deck = [Deck]::new()
$deck.Shuffle()
[Card[]]$hand1 = $deck.Deal(5)
[Card[]]$hand2 = $deck.Deal(5)
[Card[]]$hand3 = $deck.Deal(5)