猿问

并非显示所有属性

当我们尝试通过管道将数据导出到其他函数时,我们在PowerShell中观察到一些奇怪的行为。


示例代码:


$Array = @()


$Obj1 = [PSCustomObject]@{

    Member1   = 'First'

    Member2   = 'Second'

}


$Obj2 = [PSCustomObject]@{

    Member1   = 'First'

    Member2   = 'Second'

    Member3   = 'Third'

}


$Array = $Obj1, $Obj2

$Array | Out-GridView -Title 'Not showing Member3'


$Array = $Obj2, $Obj1

$Array | Out-GridView -Title 'All members correctly displayed'

在上面的示例中,您可以看到,当第一个对象仅包含2时,即使第二个对象具有3 properties,Out-GridViewCmdLet(和其他对象)也仅显示2 。但是,当数组中的第一个对象包含3个对象时,它会正确显示所有对象。propertiespropertiesproperties


有没有解决的办法?因为无法预先预测properties某个对象上将有多少个对象,以及最多的对象properties将是中的第一个对象array。


千巷猫影
浏览 586回答 1
1回答
随时随地看视频慕课网APP
我要回答