我正在工作流基础项目中工作,我发现一个问题。我解释我的项目:从cs中设置InArgument值
我有一个MainWindow,我设置了我想要运行的workflowname。当我运行这个工作流时,我调用VisualTracking.cs类来查看调试的位置。这个cs类的构造函数具有以下方法(WorkflowDesigner wd,string filePath,字符串名称) 该名称是我在mainwindow中设置的workflowname。
我有一个dll项目,有一些自定义活动,我在以前的重新主办的工作流中使用。在其中一个活动中,我有一个叫做textValue的参数。我想,这InArgument得到workflowname值,所以做它,我做了下面的代码:
主窗口:
......
VisualTracking tracker = new VisualTracking(wd, workflowFilePathName, this.workflowName);
.....
VisualTracking类:
.......
private string workflowName { get; set; }
.......
public VisualTracking(WorkflowDesigner wd,string filePath,string name) {
.......
foreach (Activity v in idActivityMap.Values)
{
string val = v.GetType().FullName;
activityLists.Add(val);
if (v.GetType().FullName == "RulesDll.Status_Activity.StatusActivity")
{
((StatusActivity)v).textValue = this.workflowName;
}
}
........
在此的foreach对于每个工作流活动,我检查他的名称空间是否是我想要设置workflowname的目标活动。
StatusActivity
........
public InArgument<string> textValue;
public InArgument<string> Text
{
get { return this.textValue; }
set { this.textValue = value; }
}
........
protected override void Execute(CodeActivityContext context)
{
...........
string text = context.GetValue(this.Text);
...........
所以我想在字符串文本有我在visualtracking类相关的workflowName值....但是当我调试,始终检索的值作为空....
任何解决方案将不胜感激!!!!!
对不起,我忘了把this.workflowName =名称;在visualTracking类;-),但仍然没有奏效 –