1

多くのカスタム アクティビティで構成されるワークフローがあります。これらすべてのアクティビティは、ワークフロー自体の開始引数にアクセスする必要があります。これらすべてのカスタム アクティビティ内で InArgument を定義し、ワークフロー引数をカスタム アクティビティ引数にバインドすることはできますが、このソリューションには満足できません。カスタム アクティビティからワークフロー レベルの引数と変数の宣言にアクセスする最良の方法は何ですか。ActivityContext から取得できますか?

ありがとう。

4

1 に答える 1

1

カスタム アクティビティでこれを確認した 1 つの方法は、ActivityContext で使用できる Properties プロパティを使用することです。execute メソッドに ExecutionProperty を追加する InArgument を持つアクティビティがあるため、次のようになります。

public InArgument<Custom> MyObject {get;set;}

...

context.Properties.Add("Contact",MyObject.Get(context));

次に、他のアクティビティで、これが設定されているかどうかを確認できます

context.Properties.Find("Contact")

明らかに、これを頻繁に行う場合は、魔法の文字列ではなく定数を使用することをお勧めしますが、設計時に同じ引数を何度も追加する必要がなくなるはずです。

于 2010-05-26T09:17:31.917 に答える