PowerShell Splatting with ValidateSet



当函数参数使用验证集时,我似乎无法让 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

相关内容

  • 没有找到相关文章

最新更新