从Powershell类返回自定义PSObject数组

时间:2017-02-07 20:42:33

标签: windows powershell scripting

我有一个powershell类,它有一个可以返回自定义PSObject数组的方法,虽然我不知道如何定义方法以便它不会抱怨。即

class ThisIsAClass {
    MethodReturnsArray() {
        $thisArray = @()
        for ($i=0; $i -lt $total; $i++) {
            $item = New-Object -TypeName PSObject
            $item | Add-Member MemberType -NoteProperty -Name ID -Value i
            $item | Add-Member MemberType -NoteProperty -Name Text -Value "a"
        }
        return $thisArray
    }
}

1 个答案:

答案 0 :(得分:3)

您需要声明for方法的返回类型。您可以将$thisArray循环的输出直接分配到class ThisIsAClass { [array]MethodReturnsArray([int]$total) { $thisArray = for ($i=0; $i -lt $total; $i++) { $item = New-Object -TypeName PSObject $item | Add-Member -MemberType NoteProperty -Name ID -Value $i $item | Add-Member -MemberType NoteProperty -Name Text -Value "a" $item } return $thisArray } }

{{1}}