【发布时间】:2019-09-17 13:07:03
【问题描述】:
请试试这个:
function f1
{
param(
[Parameter(Mandatory=$true,ValueFromPipelineByPropertyName=$true)]
[string]
$Text
)
$text
}
function f2
{
param(
[Parameter(Mandatory=$true,ValueFromPipelineByPropertyName=$true)]
#[string]
$Text
)
$text
}
function f3
{
param(
[Parameter(Mandatory=$False,ValueFromPipelineByPropertyName=$true)]
[string]
$Text
)
$text
}
f1 ''
f2 ''
f3 ''
这里 f1 抛出一个错误。现在试试
f2 $null
f3 $null
这次只有 f2 抛出错误。我想要的是一个函数f,所以
f '' # is accepted
f $null # returns an error
【问题讨论】:
-
对不起,我不明白,你的函数'f2'可以按你的意愿工作。 f2 '' 被接受并且 f2 $null 产生一个错误。
-
@JPB 我认为问题出在数据类型上。
标签: powershell parameters