创建一个包含不同对象数组的对象,这些对象可以在 PowerShell 中动态增长
Create an object containing an array of different objects that can grow dynamically in PowerShell
我想在 PowerShell 中创建一个对象,其私有成员之一是不同对象的列表或数组。此请求有两个重要功能。
私有成员列表或数组必须能够动态增长(这在语法上如何工作?)
解决方案必须向后兼容 PowerShell 2.0。这意味着我无法使用 "class" 关键字创建自定义 class。
有没有办法在 PowerShell 中完成此操作?
您是否正在寻找这样的东西(适用于 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?)
就去做吧:
#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
我想在 PowerShell 中创建一个对象,其私有成员之一是不同对象的列表或数组。此请求有两个重要功能。
私有成员列表或数组必须能够动态增长(这在语法上如何工作?)
解决方案必须向后兼容 PowerShell 2.0。这意味着我无法使用 "class" 关键字创建自定义 class。
有没有办法在 PowerShell 中完成此操作?
您是否正在寻找这样的东西(适用于 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?)
就去做吧:
#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