Я почти уверен, что у меня нет других вариантов, кроме того, что я обнаружил, но я хотел выбрать коллективный интернет-мозг.
Я предпочитаю использовать параметр [switch] при передаче логических значений в пользовательские функции. Однако у меня есть несколько случаев, когда я хотел пометить параметр switch как обязательный. Это может быть дополнительно выполнено через [параметр (обязательный = $ true)] для параметра. Тем не менее, мне очень не нравится приглашение UI, которое появляется. Я предпочитаю бросить исключение.
Но, переключатель может быть либо true, либо false, и свойство IsPresent не делает различий. Если я передаю параметр переключателя как -example: $ false , коммутатор сообщает, что $ example.IsPresent имеет значение false !
Я прибег к использованию [bool]. Например:
param
(
[bool]$theValue = $(throw('You didn't specify the value!'))
);
Есть ли другие хитрости, которые я могу использовать?