如何在 PowerShell 函数中使用 ValidateCount 特性?


PowerShell 函数中的 validateCount 特性用于验证数组的长度,这意味着你可以将特定的参数数量传递到参数中。在下面的示例中,当我们传递值时,数组需要至少包含 1 个且最多包含 4 个值。为此,我们将编写以下脚本,

Function ValidateArray {
   Param (
      [ValidateCount(1,3)]
      [String[]]$Animals
   )
   return $PSBoundParameters
}

输出

PS C:\> ValidateArray -Animals Cow, Dog, Cat
Key Value
--- -----
Animals {Cow, Dog, Cat}

上面的输出有效,但当我们传递 null 或 4 个值时,它将变为无效,因为我们已经声明了数组的长度应该在 1 到 3 之间。

PS C:\> ValidateArray -Animals @()
ValidateArray: Cannot validate argument on parameter 'Animals'. The parameter req
uires at least 1 value(s) and no more than 3 value(s) - 0 value(s) were provided.
PS C:\> ValidateArray -Animals Cow, Dog, Cat, Tiger
ValidateArray: Cannot validate argument on parameter 'Animals'. The parameter req
uires at least 1 value(s) and no more than 3 value(s) - 4 value(s) were provided.

更新于: 19-9-2020

385 次浏览

开始你的 职业生涯

通过完成课程获得认证

开始
广告