创建一个包含可在PowerShell中动态增长的不同对象数组的对象

时间:2017-01-14 18:23:14

标签: arrays list powershell object powershell-v2.0

我想在PowerShell中创建一个对象,其中一个私有成员是一个列表或不同对象的数组。此请求有两个重要功能。

  1. 私有成员列表或数组必须能够动态增长(这将如何在语法上有效?)

  2. 解决方案必须向后兼容PowerShell 2.0 。这意味着我无法使用"类"创建自定义类。关键字。

  3. 有没有办法在PowerShell中完成?

2 个答案:

答案 0 :(得分:1)

你在找这样的东西(在v2中工作):

$x = New-Object psobject
$arr = new-object system.collections.arraylist
$arr.add("test")
$arr.add("test3")
$arr.add(@{"test4"="another1"})
$x | add-member -MemberType NoteProperty -Name arr -Value $arr
$x.arr.add("test5")
write-output $x.arr

默认情况下,数组在powershell中是多态的,因此您可以在数组中存储任何类型并将其传递给对象

v2(PowerShell - how to add private members?

中无法使用私人会员

答案 1 :(得分:0)

就这样做:

#declaration array and variables differents types
$array=@()
$varstring='i am as tring'
$varint=0
$varobject=New-Object -TypeName "pscustomobject" @{val1="12"; val2="test"}

#add elements into array
$array+=$varstring
$array+=$varint
$array+=$varobject

#print array
$array