Delen via


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.IOvereenvoudigen.

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)