次の方法で共有


メッセージの割り当て図形のメッセージ参照

最初に .NET ベースのオブジェクトをメッセージまたはメッセージ部分に割り当てたときに、メッセージでオブジェクトへの参照が保持および維持されます。

効率とスケーラビリティのために、オーケストレーション エンジンはオブジェクトの "ディープ コピー" を行いません。つまり、オブジェクトの内容全体をメッセージにコピーすることはありません。

その後、オブジェクトを別のメッセージまたはメッセージ部分に割り当てる場合、元のオブジェクトに変更があると、2 番目のメッセージまたはメッセージ部分を変更することになります。 この操作は結果を予測できないため、使用しないでください。

2 番目のメッセージでオブジェクトの明確なコピーが必要な場合は、最初のメッセージまたはメッセージ部分を 2 番目のメッセージまたはメッセージ部分に割り当てる必要があります。

次の例を確認してください。

間違っている構文 :

myMsg1 = myObj; // assign the first message  
myMsg2 = myObj; // assign the second message (wrong!)  
myMsg2.myInt = 100; // modify the second  
myMsg1.myInt = 5;  

この場合は、myMsg2.myInt は上書きされていて、値 5 が設定されます。

正しい構文 :

myMsg1 = myObj; // assign the first message  
myMsg2 = myMsg1; // assign the second message (right!)  
myMsg2.myInt = 100; // modify the second  
myMsg1.myInt = 5;  

この場合は、想定どおり、myMsg2.myInt の値は 100 のままです。

参照

メッセージの構築