鑑於Activity
(通過設計人員創建)具有幾個OutArgument
屬性,是否可以在調用工作流之後從屬性獲取其強類型值?如何在代碼中獲取OutArgument的強類型值?
的代碼看起來是這樣的:
// generated class
public partial class ActivityFoo : System.Activities.Activity....
{
....
public System.Activities.OutArgument<decimal> Bar { ... }
public System.Activities.OutArgument<string> Baz { ... }
}
// my class
var activity = new ActivityFoo();
var result = WorkflowInvoker.Invoke(activity);
decimal d = activity.Bar.Get(?)
string s = activity.Baz.Get(?)
的T Get()
方法上OutArgument<T>
,需要一個ActivityContext
這我不知道如何獲取代碼。
我也意識到可以從result["Bar"]
和result["Baz"]
獲得非鍵入的值並投射它們,但我希望有另一種方法。
已更新,以清除有多個Out
值,但即使只有一個,問題仍然適用。
我已經更新了這個問題,以清楚地表明有多個輸出值。從'Invoke'返回的是一個'IDictionary',我試圖看看是否可以從活動的屬性中獲取值,而不是使用字符串來訪問字典。 –
Jedidja