当函数参数使用验证集时,我似乎无法让 splatting 工作。
下面的示例生成以下错误:
哪个水果:无法验证参数"水果"的参数。这 参数"System.Collections.Hashtable"不属于集合 "Apple,Orange"由 ValidateSet 属性指定。供应一个 集合中的参数,然后重试该命令。
Function WhichFruit {
param(
[ValidateSet("Apple","Orange")]
[string]$fruit
)
Write-Host $fruit
}
$params = @{ fruit = "Apple" }
WhichFruit $params
您没有使用拼接运算符@
Function WhichFruit {
param(
[ValidateSet("Apple","Orange")]
[string]$fruit
)
Write-Host $fruit
}
$params = @{ fruit = "Apple" }
WhichFruit @params