データテーブルの引数の方向について質問があります。
MainでExcelを読み込み、データテーブル型に格納後、呼び出し先WFでデータテーブルのA列の値に書き込みをしました。書き込み後、mainに戻って後続の処理をしていくのですが、
データテーブル型の引数を誤ってinにした状態で組んでいました。(本当はINOUTにしようと思っていた。データが更新されたため)
ですが呼び出し先WFで書き込み後、mainに戻ってきたときに、引数がINでもデータテーブルのA列の値が更新されていました。
呼び出し先でデータテーブルの中身を更新した状態でmainに戻ってきたらINOUTだと思っていたのですが、違うのでしょうか
Yoichi
(Yoichi)
2
こんにちは
これは変数が参照型だからです。変数の参照先がIN型で渡されて、その先でその変数の参照先が更新されると、呼び出し先から全体を返さなくても、呼び出し元の変数は同じ場所を参照しているので、結果として更新されます。
以下InvokeCodeへの受け渡しですが、類似の話を図示していますので、こちらも参考になるかもしれません。