...
var workflow = new Sequence();
Variable<Dictionary<string,object>> variable = new Variable<Dictionary<string,object>>
{
Name = "SharedData"
};
workflow.Variables.Add(variable);
foreach (MyCustomActivity activity in mAddedActivities)
{
workflow.Activities.Add(activity);
}
WorkflowInvoker invoker = new WorkflowInvoker(workflow);
invoker.Invoke();
私はその右のアプローチとして、わからないんだけど、何かが!!ウィル私を提案し、ここでActivityResultは、インターフェイスのメンバーのいくつかの並べ替えを経て、様々な追加の活動の間で共有されるプロパティです実際のインプリメンテーションのためには、任意の記帳/控除は必要ありません。変数「共有データ」は、複数のアクティビティ間でデータを保持するのに十分です。
オーバーライドされたコードアクティビティ "Execute"メソッドの各アクティビティレベルで、このワークフロー変数 "SharedData"の値をフェッチするためにコードの抜粋を使用する必要があります。
WorkflowDataContext dataContext = context.DataContext;
PropertyDescriptorCollection propertyDescriptorCollection = dataContext.GetProperties();
foreach (PropertyDescriptor propertyDesc in propertyDescriptorCollection)
{
if (propertyDesc.Name == "SharedData")
{
myData = propertyDesc.GetValue(dataContext) as Dictionary<string, object>;
if (myData == null) //this to check if its the initial(1st) activity.
myData = new Dictionary<string, object>();
//I'm adding here an additional value into the workflow variable
//its having signature same as that of workflow variable
//dictionary's key as what it is and value as an object
//which user can cast to what actually one wants.
myData.Add("islogonrequired", Boolean.TrueString);
//here I'm fetching some value, as i entered it in my previous activity.
string filePath = myData["filepath"].ToString();
propertyDesc.SetValue(dataContext, myData);
break;
}
}
希望これは...彼らの助けのnサポートのため おかげでそこに誰もが他人を助けるかもしれません。
この質問は理にかなっていません。 NativeActivityから拡張されたアクティビティを作成するのに十分な知識があれば、イン/アウト引数、変数、さらにはワークフロー拡張機能の仕組みを把握できるはずです。 – Will
ヘイウィル、その感覚についてではなく、私はここでそれを妨げている、それはなぜあなたの言葉では、質問に尋ねたthats無意味ですが、私にとっては、何かが不足している可能性があります..あなたがそれに対して賢明な答え、私に教えてください、それは私のために役立つだろうかもしれません。 あなたの助けを借りて自分の考えに単語を追加できます。 –
次に、activity1の控除をワークフローの変数にバインドし、次に、activity2の控除を同じ変数にバインドします。 – Will