Как передать объекты в powershell - PullRequest
0 голосов
/ 27 марта 2020

Я могу передать один объект в powershell, но когда у меня есть 2 объекта, пропускается только 1, другой является нулевым.

псевдо-код:

function do-something($param1, $param2) {
...
}


do-something($a, $b)

Нужно ли мне сделать что-то особенное, чтобы передать оба аргумента? То, к чему я прибегаю, - это использование глобалов, которые, я думаю, приведут к другим проблемам.

1 Ответ

2 голосов
/ 27 марта 2020

Хотя PowerShell допускает синтаксис определения функции "C# -тиля" (как в вашем примере), синтаксис для вызова функций немного отличается - в этом случае аргументы параметра разделенные пробелом, а не запятой , и, необязательно, , переданный по имени .

. Для того, что вы пытаетесь сделать, любой из них будет работать:

Do-Something $a $b
Do-Something -param1 $a -param2 $b
Do-Something -param1:$a -param2:$b

То, к чему ваш текущий код разрешает:

Do-Something -param1 ($a, $b)

... вот почему вы получаете только один аргумент в функции.

См. about_Functions файл справки для получения более подробной информации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...