ワークフロー間でのdictionary変数の受渡しについて

dictionary変数の受け渡しがうまく出来ず困っています。
状況は以下の通りです。

【作成ワークフローと状態】
・mainワークフロー
…subAワークフローで作成したDictionary引数をインポートし、dictionary型変数(string,String)に格納。

・subAワークフロー
…dictionary引数(string,String)を作成。引数「出力」でmainワークフローに受渡し。なお、dictionary引数作成時に初期化済。

・subBワークフロー…mainワークフローからdictionary変数を引数「入力」で受け取り。そのdictionaryを使用してfor eachアクティビティを回す際にエラーメッセージ
「繰り返し (コレクションの各要素): 型 ‘System.Collections.Generic.KeyValuePair2[System.String,System.String]’ のオブジェクトを型 ‘System.String’ にキャストできません。」
との出力あり。

(質問)
上記のようなエラーメッセージが出るのは、mainワークフローやsubBワークフローで辞書の初期化が行われていないからでしょうか?
ただ、初期化してしまうと当然subAワークフローで格納したデータが消えてしまうのでそれは出来ず…。
dictionary変数の受け渡しについてお分かりになる方、ご教示いただけないでしょうか。よろしくお願いいたします。

こんにちは

このエラーはワークフロー間の引渡しの問題ではなく、For EachでのDictionaryの使い方かと思います。For Eachのvalueの部分をDictionary型変数.Keysにしてキーをイテレートするか、あるいはTypeArgumentをKeyValuePair<String, String>にすると解消されると思います。

1 Like

Yoichi様

早急にご回答くださりありがとうございます。
単純なミスすぎて全身の力が抜けました・・・。
お恥ずかしい限りです。

大変助かりました。本当にありがとうございます!

2 Likes

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.