Angenommen ich ein Skript mit mehreren Funktionen haben exakt die gleichen Parameter, in den gleichen Positionen und mit den gleichen Typen und Einschränkungen, wie dies unter:Kann ein 'param'-Block über mehrere Funktionen hinweg wiederverwendet werden?
function Verb1-MyValue {
[CmdletBinding()]
param (
[parameter(Mandatory = $true)][String]$Param1,
[parameter(Mandatory = $true)][String]$Param2,
[ValidateSet("Value1","Value2")][String]$Param3 = "Value1"
)
# code ...
}
function Verb2-MyValue {
[CmdletBinding()]
param (
[parameter(Mandatory = $true)][String]$Param1,
[parameter(Mandatory = $true)][String]$Param2,
[ValidateSet("Value1","Value2")][String]$Param3 = "Value1"
)
# code ...
}
# and so on ...
ich den param
Block mit allen Funktionen teilen wollte zu vermeiden mögliche Probleme (sie brauchen, um für alle von ihnen gleich zu sein) und die Redundanz zu vermeiden.
Gibt es in PowerShell eine Möglichkeit, den Block param
für mehrere Funktionen im selben Skript zu verwenden? Wenn nicht, gibt es Alternativen dazu?
Schreiben Sie dies als Powershell-Skript obligatorisch? Was ist mit einem C# -Projekt, das in ein Powershell-Modul eingebaut wurde? Wenn dies eine Option ist, können Sie eine beliebige Basisklasse für alle Cmdlets mit derselben Parameterstruktur verwenden. – Travis
Eigentlich nein, das als Skript ist überhaupt nicht zwingend. Könnten Sie Ihren Kommentar als eine Antwort bearbeiten, die zeigt, wie das möglich wäre? Ich bin sehr interessiert. Weißt du, ob es unmöglich ist, dies nur mit Skript zu erreichen? – julealgon
Ich kann nicht darüber nachdenken, es nur in Skript zu tun – Travis