PowerShell函数返回哈希表时被转换为System.Object的问题求助
PowerShell函数返回哈希表时被转换为System.Object的问题求助
各位大佬好,我遇到一个PowerShell的奇怪问题,想请教下大家:
我写了一个用来创建并返回哈希表的函数,但函数返回的结果却不是我预期的哈希表,而是一个System.Object类型的对象——里面包含两个条目(索引0和1),我要的哈希表反而在第三个位置。
先贴下我的示例代码:
函数部分:
Function Get-MyHashtable($props) { $NewProps = New-Object System.Collections.Hashtable $NewProps.add('Item1', $props.Value1) $NewProps.add('Item2', $props.Value2) return $Newprops }
调用函数的代码:
$NextgenProps = Get-Myhashtable -props $Somedatatoprocess
我特意在函数里用$Newprops.gettype()检查过,$Newprops确实是哈希表类型,但赋值给$NextgenProps之后,它就变成了System.Object,而且结构里前两个条目对应Item1和Item2的值,第三个才是我要的哈希表。我本来预期直接返回哈希表的,不知道哪里出了问题?
备注:内容来源于stack exchange,提问作者JensH




