Пожалуйста, попробуйте следующее:
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