假设我有一个包含 3 个自定义活动的工作流,这些活动放置在一个序列活动中。我在序列活动级别(根)创建了一个布尔变量(将其命名为“FinalResult”)来保存结果。我的意图是,我想在完成活动后将每个自定义活动结果分配给自定义活动执行方法中的根级别变量(“FinalResult”)。
我可以通过在自定义活动中声明输出参数并在设计策略时将变量名称在设计时手动放置在活动的属性窗口中来实现这一点。
但我不想让最终用户这样做。我只想让最终用户拖放活动并在“FinalResult”变量上写入条件。在内部,我必须通过编程方式在“FinalResult”变量中维护活动结果。
最后,我想在“FinalResult”变量中维护工作流状态,并在工作流中随时随地访问它。
我在下面尝试这样得到错误“属性不存在”。
WorkflowDataContext dataContext = context.DataContext;
PropertyDescriptorCollection propertyDescriptorCollection = dataContext.GetProperties();
foreach (PropertyDescriptor propertyDesc in propertyDescriptorCollection)
{
if (propertyDesc.Name == "FinalResult")
{
object data = propertyDesc.GetValue(dataContext);// as WorkUnitSchema;
propertyDesc.SetValue(dataContext, "anil");
break;
}
}
请让我们知道可能的解决方案。