我有有一個看起來像這樣(他們設置爲適當的依賴特性,我只是不停地簡單這裏)性質的活動:工作流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,而在其他地方沒有。
這幾乎就像是在活動運行之前正在評估條件,但活動比工作流中的條件早得多,所以我不明白爲什麼會是這種情況。
任何人都可以對此有所瞭解嗎?