首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell。声明具有使用“Add-Type”定义的类的泛型列表

Powershell。声明具有使用“Add-Type”定义的类的泛型列表
EN

Stack Overflow用户
提问于 2009-03-27 01:12:53
回答 2查看 55.9K关注 0票数 22

我尝试在PowerShell中声明List,其中Person是使用Add-Type定义的:

代码语言:javascript
复制
add-type -Language CSharpVersion3 -TypeDefinition @"
    public class Person
    {
        public Person() {}

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

这可以很好地工作:

代码语言:javascript
复制
New-Object Person
New-Object System.Collections.Generic.List``1[System.Object]

但是这一行失败了:

代码语言:javascript
复制
New-Object System.Collections.Generic.List``1[Person]

这里出了什么问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-03-27 05:27:28

这是New-Object中的一个错误。这将帮助您更轻松地创建它们:http://www.leeholmes.com/blog/2006/08/18/creating-generic-types-in-powershell

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

代码语言:javascript
复制
PS > $r = New-Object "System.Collections.Generic.List[Int]"
PS > $r.Add(10)
票数 38
EN

Stack Overflow用户

发布于 2012-08-30 08:38:50

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

代码语言:javascript
复制
$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++
}

希望这能有所帮助!

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/688152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档