9

我有一个类似于THIS ONE的问题

我正在传递给函数 3 数组,并以这种方式验证对象类型

function _TEST {
[CmdletBinding()]
param (
    [parameter(mandatory=$true)]
    [array]$Path,
    [parameter(mandatory=$true)]
    [array]$RW,
    [parameter(mandatory=$true)]
    [array]$RO
)
process {
    # my code
}

除非我传递给没有元素的函数数组,否则它会起作用,在这种情况下它会返回此错误_TEST : Cannot bind argument to parameter 'Path' because it is an empty collection.

有没有办法解决类似于[AllowEmptyString()]链接问题的问题,还是我必须编写自定义代码来测试输入变量?

4

1 回答 1

28

试试这个:

param (
    [parameter(mandatory=$true)]
    [AllowEmptyCollection()]
    [array]$Path
)

关联:

参数验证属性

于 2013-06-20T10:58:28.590 回答