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