Generics Powershell。使用';定义类声明泛型列表;添加类型';

Generics Powershell。使用';定义类声明泛型列表;添加类型';,generics,collections,powershell,Generics,Collections,Powershell,我正在尝试在PowerShell中声明列表,其中人员是使用Add Type定义的: add-type -Language CSharpVersion3 -TypeDefinition @" public class Person { public Person() {} public string First { get; set; } public string Last { get; set; } } "@ 这很好

我正在尝试在PowerShell中声明列表,其中人员是使用Add Type定义的:

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

        public string First { get; set; }
        public string Last { get; set; }
    }
"@ 
这很好:

New-Object Person
New-Object System.Collections.Generic.List``1[System.Object]
但这条线失败了:

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

这里出了什么问题?

这是新对象中的错误。这将帮助您更轻松地创建它们:

更新:PowerShell在版本2中添加了对此的支持:

PS > $r = New-Object "System.Collections.Generic.List[Int]"
PS > $r.Add(10)

嗯,我试图创建一个
FileStream
对象列表,这是我的解决方案(基于--它实际上描述了一种解决问题的方法):

$fs=新对象“System.Collections.Generic.List[System.IO.FileStream]”
$sw=新对象“System.Collections.Generic.List[System.IO.StreamWriter]”
$i=0
而($i<10)
{
$fsTemp=New Object System.IO.FileStream($newFileName“,[System.IO.FileMode]'OpenOrCreate',[System.IO.FileAccess]'Write')
$fs.添加($fsTemp)
$swTemp=新对象系统.IO.StreamWriter($fsTemp)
$sw.Add($swTemp)
$i++
}

希望有帮助

欢迎来到李!对于任何想知道的人来说,失败的一行(如上)在Powershell 3.0中工作(尽管我需要删除“-Language CSharpVersion3”,因为我在Windows Server 2012上运行了它)。
$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++
}