使用ValidateSet进行PowerShell Splatting

时间:2016-06-10 17:18:18

标签: powershell validateset

当函数参数使用验证集时,我似乎无法进行splatting。

以下示例产生以下错误:

  

WhichFruit:无法验证参数'fruit'的参数。该   参数“System.Collections.Hashtable”不属于该集合   ValidateSet属性指定的“Apple,Orange”。供应一个   该集合中的参数然后再次尝试该命令。

Function WhichFruit {
    param(
    [ValidateSet("Apple","Orange")]
    [string]$fruit
    )

    Write-Host $fruit
}

$params = @{ fruit = "Apple" }

WhichFruit $params

1 个答案:

答案 0 :(得分:1)

您没有使用splatting运算符@

Function WhichFruit {
    param(
    [ValidateSet("Apple","Orange")]
    [string]$fruit
    )

    Write-Host $fruit
}

$params = @{ fruit = "Apple" }

WhichFruit @params