A PowerShell programozási nyelv

Sablonok

Szintaxis

A Windows PowerShellben a generikus programozásra főleg akkor lehet szükség, amikor egy collection-be szeretnénk elemeket elhelyezni, de a PowerShell nem képes a típusokat megfelelően konvertálni (elég ritka eset, de előfordul). A Windows PowerShell 1.0-ban a szintaxis felettébb bonyolult volt, de a 2.0-ban jelentősen egyszerűsödött.

System.Collections.ObjectModel.Collection[típus]

Példányosítás

A példányosítást a New-Object cmdlet-tel lehet végrehajtani.

Ha például szeretnénk egy C#-ból ismerős System.Collections.ObjectModel.Collection<System.Net.IPAddress>-t létrehozni, akkor ezt PowerShellben a következőképpen tehetjük meg:

PS> $a = [System.Net.IPAddress] "192.168.0.1" PS> $a = New-Object system.collections.objectmodel.collection[system.net.ipaddress] PS> $a.Add($([System.Net.IPAddress] "192.168.0.1"))

A következő példában pedig egy System.Collections.Generic.Stack<System.Net.IP.Address>-t hozunk létre:

PS> $a = New-Object System.Collections.Generic.Stack[System.Net.IPAddress] PS> $a.Push($([System.Net.IPAddress] "192.168.0.1")) PS> $a.pop() Address : 16820416 AddressFamily : InterNetwork ScopeId : IsIPv6Multicast : False IsIPv6LinkLocal : False IsIPv6SiteLocal : False IPAddressToString : 192.168.0.1

Egy Dictionary<String, int>-t pedig a következőképpen hozhatunk létre:

$a = New-Object 'system.collections.generic.dictionary[string,int]'

Az aposztrófok azért kellenek, hogy a két típusparamétert elválasztó vesszőt a PowerShell megfelelőképpen értelmezze.