Кто-нибудь знает, почему атрибут Mandatory для параметра $ a влияет на поведение приведения типа параметра $ b? В этом примере массив должен быть приведен к строке.
function test ([Parameter(Mandatory = $True)] [string] $a, [string] $b) {
$a; $b
}
$b = "a", "b", "c"
test -a "my string" -b $b
Когда этот фрагмент кода выполняется, он выдает ошибку: test: Невозможно обработать преобразование аргумента для параметра 'b'. Невозможно преобразовать значение в тип System.String. В строке: 1 символ: 31
Если я удаляю атрибут Mandatory из $ a, он отлично работает:
function test ([string] $a, [string] $b) {
$a; $b
}
$b = "a", "b", "c"
test -a "my string" -b $b
Заранее спасибо за отзыв