如何在 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 次瀏覽

開始你的 職業生涯

透過完成課程獲得認證

開始
廣告