2010-01-21 8 views
13

Jak utworzyć listę w PowerShell 2? Próbowałem te:
Generics w PowerShell 2 nie działa?

[activator]::createinstance(([type]'system.collections.generic.list`1').makegenerictype([string])) 

i

[activator]::createinstance(([type]'system.collections.generic.list`1').makegenerictype([string])) 

i wszystko mi się to po prostu nic. Co idzie źle?

biegnę XP SP3, jeśli ma to znaczenie

Odpowiedz

18

Spróbuj tego:

PS> $list = New-Object 'System.Collections.Generic.List[string]' 
PS> $list.Add('foo') 
PS> $list 
foo 

PS> $d = New-Object 'System.Collections.Generic.Dictionary[string,datetime]' 
PS> $d.Add('moonshot', [datetime]'7/20/1969') 
PS> $d['moonshot'] 

Sunday, July 20, 1969 12:00:00 AM 
+0

Też nie mogę wykonać tego zadania, nic nie zwracam. Czy to powinno działać? – Parsa

+0

Jeśli korzystasz z PowerShell 2.0, powinien. –

+0

Teraz, zorientowałem się, te próby były w porządku, problem polegał na tym, że PS wyświetlało dane, więc nic nie wyświetliło, dziękuję. – Parsa

3

Jeśli próbujesz utworzyć listę w oparciu o ciągi, spróbuj tego:

New-Object 'System.Collections.Generic.List[system.string]' 

Zauważ, że musisz określić 'System.String' (przynajmniej na moim komputerze;)). Jeśli po prostu użyjesz "ciągu", zgłasza wyjątek.

[61]: New-Object 'System.Collections.Generic.List[string]' 
New-Object : Cannot find type [System.Collections.Generic.List[string]]: make sure the assembly containing this type is loaded. 
At line:1 char:11 
+ New-Object <<<< 'System.Collections.Generic.List`1[string]' 
    + CategoryInfo   : InvalidType: (:) [New-Object], PSArgumentException 
    + FullyQualifiedErrorId : TypeNotFound,Microsoft.PowerShell.Commands.NewObjectCommand 
+0

bez powodzenia, używałem tej składni w PowerShell 1, ale teraz nic nie powrócić na PS2, to jest powód, dlaczego próbowałem użyć Activator klasa. – Parsa

+0

co to znaczy "nie zwraca niczego"? jaki jest komunikat o błędzie – stej

+2

Gdy kolekcja jest pusta, nic nie wyświetla. Rodzaj daje wrażenie, że nowy obiekt zawiodł, gdy w rzeczywistości zadziałało. –

Powiązane problemy