Skip to content

Commit

Permalink
New-ValidationDynamicParam update
Browse files Browse the repository at this point in the history
  • Loading branch information
adbertram committed Mar 25, 2016
1 parent f4cb61d commit a442fab
Showing 1 changed file with 12 additions and 3 deletions.
15 changes: 12 additions & 3 deletions PowerShell Internals/New-ValidationDynamicParam.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -56,22 +56,28 @@
}
}

function New-ValidationDynamicParam {
function New-ValidationDynamicParam
{
[CmdletBinding()]
[OutputType('System.Management.Automation.RuntimeDefinedParameter')]
param (
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string]$Name,

[ValidateNotNullOrEmpty()]
[Parameter(Mandatory)]
[Parameter()]
[array]$ValidateSetOptions,

[Parameter()]
[switch]$Mandatory = $false,

[Parameter()]
[string]$ParameterSetName = '__AllParameterSets',

[Parameter()]
[switch]$ValueFromPipeline = $false,

[Parameter()]
[switch]$ValueFromPipelineByPropertyName = $false
)
Expand All @@ -83,7 +89,10 @@ function New-ValidationDynamicParam {
$ParamAttrib.ValueFromPipeline = $ValueFromPipeline.IsPresent
$ParamAttrib.ValueFromPipelineByPropertyName = $ValueFromPipelineByPropertyName.IsPresent
$AttribColl.Add($ParamAttrib)
$AttribColl.Add((New-Object System.Management.Automation.ValidateSetAttribute($ValidateSetOptions)))
if ($PSBoundParameters.ContainsKey('ValidateSetOptions'))
{
$AttribColl.Add((New-Object System.Management.Automation.ValidateSetAttribute($ValidateSetOptions)))
}
$RuntimeParam = New-Object System.Management.Automation.RuntimeDefinedParameter($Name, [string], $AttribColl)
$RuntimeParam

Expand Down

0 comments on commit a442fab

Please sign in to comment.