param ( [Parameter(Position=0)][string]$RelativeTo=$null ) if($null -eq $RelativeTo) { '$null' } else { "[$($RelativeTo.GetType())]($RelativeTo)"; $RelativeTo }
% Get-RelatesTo
[string]()
> Get-RelatesTo $null
[string]()
> Get-RelatesTo -RelativeTo $null
[string]()
> Get-RelatesTo -RelativeTo ""
[string]()
а зачем сравнивать с null? это тоже что сравнивать булеву переменную с $true/$false...
Я хотел различать "", "non-empty" и не переданное, - как я бы в c# сделал без $PSBoundParameters.ContainsKey('RelativeTo')
Когда в пошике еще не очень, нули сильно сбивают с толку.
Обсуждают сегодня