我有有一个看起来像这样(他们设置为适当的依赖特性,我只是不停地简单这里)性质的活动:工作流3.5活动属性是状态空,无处
public List<MyType> TypeList { get; set; }
public Int32 Index { get; set; }
public MyType SelectedType { get; set; }
和执行,仅仅做到这一点:
SelectedType = TypeList[Index];
类型串和索引是我从其他活动中设置的值。我不会将SelectedType设置为活动属性中的任何内容,我只是让它在执行中被设置。
现在我知道一个事实,即SelectedType正确设置,我甚至可以指向另一个活动并从中打印出一些值。所以我非常肯定这项活动没有任何问题。
不过,我有一个看起来像这样的条件的,如果活动:
((MyActivity)GetActivityByName("activity1")).SelectedType != null
,并计算为假(这意味着它评估SelectedType为空)。我很确定这个活动的转换是正确的(我一直在做这样的事情),如果它不是我试图访问SelectedType时不会得到一个空引用异常?所以我很肯定我在这里没有做任何错误,但由于某种原因,SelectedType在这种情况下会变为null,而在其他地方没有。
这几乎就像是在活动运行之前正在评估条件,但活动比工作流中的条件早得多,所以我不明白为什么会是这种情况。
任何人都可以对此有所了解吗?