2009-03-27 19 views
17

ben Kişi ekle-Type kullanılarak tanımlanır PowerShell'de, Listele'yi beyan çalışıyorum kullanılarak tanımlanır sınıf ile genel liste bildirin:Powershell. 'Add-Type'

add-type -Language CSharpVersion3 -TypeDefinition @" 
    public class Person 
    { 
     public Person() {} 

     public string First { get; set; } 
     public string Last { get; set; } 
    } 
"@ 

Bu çalışıyor:

New-Object Person 
New-Object System.Collections.Generic.List``1[System.Object] 

Ama bu çizgi başarısız:

New-Object System.Collections.Generic.List``1[Person] 

burada yanlış olan nedir?

+0

PowerShell 2.0, varsayalım? –

+0

Evet, 2.0 – alex2k8

+1

ile çalışma Merak eden herkes için merak ediyorum (yukarıdaki), (Windows Server 2012'de çalıştırdığım için "-Language CSharpVersion3" programını kaldırmam gerekiyor olsa da) (yukarıdaki) Powershell 3.0'da çalışıyor. –

cevap

8

Well ve bu benim çözüm oldu (this link dayalı - aslında sorunu çözmek için bir yol tarif eder): yardımcı

$fs = New-Object 'System.Collections.Generic.List[System.IO.FileStream]' 
$sw = New-Object 'System.Collections.Generic.List[System.IO.StreamWriter]' 
$i = 0 
while ($i < 10) 
{ 
    $fsTemp = New-Object System.IO.FileStream("$newFileName",[System.IO.FileMode]'OpenOrCreate',[System.IO.FileAccess]'Write') 
    $fs.Add($fsTemp) 
    $swTemp = New-Object System.IO.StreamWriter($fsTemp) 
    $sw.Add($swTemp) 
    $i++ 
} 

Umut!