functions/Convert-MyNumber.ps1
Function Convert-MyNumber { [CmdletBinding(DefaultParameterSetName = 'binary')] [OutputType([System.String])] Param( [Parameter(Position = 0, ValueFromPipelineByPropertyName, ValueFromPipeline, Mandatory)] [Double]$Number, [Parameter(ParameterSetName = 'binary')] [Switch]$ToBinary, [Parameter(ParameterSetName = 'hex')] [Switch]$ToHex, [Parameter(ParameterSetName = 'octal')] [Switch]$ToOctal ) Begin { } Process { Write-Verbose "Processing $number" Switch ($PSCmdlet.ParameterSetName) { 'binary' { [convert]::ToString($Number, 2) } 'hex' { [convert]::ToString($Number, 16) } 'octal' { [convert]::ToString($Number, 8) } } } End {} } |