関数への複数の引数を参照渡しする場合の注意点

関数を定義した際に複数の引数を参照渡ししたり、数値渡しの引数と混在させた場合に詰まったので、忘備録として記載。

よく引き合いに出される関数への参照渡しは

$Hoge = ""

HogeHoge([ref]$hoge)

function HogeHoge([ref]$hogege){
    $hogege.Value
}

だったりするため、複数の引数を伴う場合、以下の様に記述する

#呼び出し
showDBConnectionDialog $path_my_app_data ([ref]$db_connection_strings)


#定義
function showDBConnectionDialog ($app_path, [ref]$cs) {
    $cs.Value
}

[ref]$hogehoge
含めてカッコで囲むだけ。

get-Help about_Ref

で出てきた例を参考に。