Comment valider PowerShell les Paramètres de la Fonction permettant de chaînes vides?

Veuillez essayer ceci:

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 ''

Ici f1 renvoie une erreur. Maintenant, essayez

f2 $null 
f3 $null    

Cette fois seulement f2 renvoie une erreur. Ce que je veux, c'est une fonction f, de sorte que

f '' # is accepted
f $null # returns an error
  • +1 pour la bonne cause.
  • Désolé, je ne comprends pas, votre fonction " f2 " fonctionne comme vous le souhaitez. f2 " est accepté et f2 $null générer une erreur.
  • Je pense que le problème est bien sur le type de données.
InformationsquelleAutor bernd_k | 2011-06-19