1

当函数参数使用验证集时,我似乎无法正常工作。

下面的示例产生以下错误:

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

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

    Write-Host $fruit
}

$params = @{ fruit = "Apple" }

WhichFruit $params
4

1 回答 1

1

您没有使用 splatting 运算符@

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

    Write-Host $fruit
}

$params = @{ fruit = "Apple" }

WhichFruit @params
于 2016-06-10T17:26:48.817 回答