2010-01-21 3 views
13

Wie könnte ich eine Liste in PowerShell 2 erstellen? Ich habe versucht, diese:
Generics in PowerShell 2 funktioniert nicht?

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

und

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

und alles, was ich bekommen, ist einfach nichts. Was läuft falsch?

Ich bin mit XP SP3, wenn es

Antwort

18

Try this:

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

Ich kann dieses eine Arbeit auch nicht bekommen, gibt nichts zurück. Sollte es funktionieren? – Parsa

+0

Wenn Sie auf PowerShell 2.0 sind, sollte es. –

+0

Nun, ich fand heraus, diese Versuche waren in Ordnung, Problem war, dass PS die Daten anzeigt, also würde es nichts anzeigen, danke. – Parsa

3

zählt Wenn Sie versuchen, eine Liste zu erstellen, die auf Zeichenketten basiert, versuchen Sie dies:

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

Hinweis, die Sie angeben müssen ‚system.string‘ (zumindest auf meinem comp;)). Wenn Sie nur 'string' verwenden, wird eine Ausnahme ausgelöst.

[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

Kein Glück, ich war mit dieser Syntax in Powershell 1, aber jetzt ist es nichts in PS2 zurückkehren, das ist der Grund, warum ich versuchte, den Aktivator zu verwenden Klasse. – Parsa

+0

was bedeutet es "es gibt nichts zurück"? Was ist die Fehlermeldung – stej

+2

Wenn die Sammlung leer ist, gibt es nichts aus. Sie haben den Eindruck, dass das neue Objekt versagt hat, obwohl es tatsächlich funktioniert hat. –

Verwandte Themen