Poniższy kod przedstawi ci jakie masz akceleratory:
$accelerators = [psobject].Assembly.gettype("System.Management.Automation.TypeAccelerators")
$accelerators::get
Oczywiście klasę TypeAccelerators możesz zrobić jako 'accelerator':
#$accelerators::Add('accelerators', $accelerators)
[accelerators]::Get
Takie dodawanie może być przydatne kiedy chcemy deklarować generyczną kolekcje np. listę albo stos:
$stackType = [type]'System.Collections.Generic.Stack`1'
$accelerators::Add('stack', $stackType)
[stack[int]]$stack = 1,2,3,4
Poniższy przykład jest dla kolejki z intami:
$QueueType = [type]'System.Collections.Generic.Queue`1'
$accelerators::Add('queue', $queueType)
[queue[int]]$queue = 1,2,3,4
Po wywołaniu można sprawdzić jak te dwie kolekcje zwracają elementy:
$stack #4,3,2,1 $queue #1,2,3,4
Oczywiście można dodać inne klasy, z których mają ciekawe statyczne metody:
$pathType = [type]'System.IO.Path'
$accelerators::Add('path', $pathType)
[path]::GetTempFileName()
Lub tez można dodać klasę Assert, aby testować swój kod:
[System.Reflection.Assembly]::
LoadWithPartialName('Microsoft.VisualStudio.QualityTools.UnitTestFramework')
$assertType = [type]'Microsoft.VisualStudio.TestTools.UnitTesting.Assert'
$accelerators::Add('assert', $assertType)
Sprawdzenie asserci wygląda następująco:
$actualIntValue= 11 [assert]::AreEqual(12,$actualIntValue)
Brak komentarzy:
Prześlij komentarz