Kann ich eine Konstante im ValidateSet-Attribut eines PowerShell-Funktionsparameters verwenden?

8

Ich verwende das ValidateSet-Attribut für einen meiner PowerShell-Funktionsparameter wie folgt:

%Vor%

Ich habe wiederholt, dass es viele Stellen in einem Skriptprojekt gibt. Können diese Literalstrings durch eine Konstante ersetzt werden?

    
Matthew MacFarland 15.04.2016, 20:22
quelle

1 Antwort

8

Nein, es muss ein Literal oder ein Skriptblock sein. Die Scriptblock-Option scheint sinnlos, da sie scheinbar den Literalwert (String) des Skriptblocks verwendet, anstatt ihn auszuführen.

Also, von meinen Tests müssen Sie Literale verwenden.

Wenn Sie stattdessen einen dynamischen Parameter verwenden, können Sie dies erreichen, aber das ist viel Overkill, nur um DRY zu sein.

Wenn Sie versuchen, eine Variable zu verwenden, wird es nicht funktionieren (und ISE wird Ihnen die rote Squiggly geben). Der Hilfetext sagt fälschlicherweise, dass es eine Konstante sein muss, aber es bedeutet wörtlich.

Ich habe eine Konstante mit:

erstellt %Vor%

Und es funktioniert immer noch nicht.

    
briantist 15.04.2016, 20:29
quelle

Tags und Links