これを試してください:空の文字列を許可するPowerShell関数のパラメータを検証する方法は?
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 '' # is accepted
f $null # returns an error
+1。 –
申し訳ありませんが、あなたの関数 'f2'はあなたが望むように動作することを理解していません。 f2 ''は受け入れられ、f2 $ nullはエラーを生成します。 – JPBlanc
@ JPBデータ型に関する問題があると思います。 –