ActivityWithResult 是所有有回傳值活動的基類,定義 Result (OutArgument) 與 ResultType (Type) 屬性。實務上無法直接繼承 Activity<TResult> (缺乏 Execute 進入點),需繼承三大具體基類之一:
CodeActivity<TResult>:簡單同步運算NativeActivity<TResult>:完整功能 (書籤、排程子活動、追蹤...)AsyncCodeActivity<TResult>:等待非同步操作
public sealed class MyCodeActivity : CodeActivity<int>
{
public InArgument<int> X { get; set; }
public InArgument<int> Y { get; set; }
protected override int Execute(CodeActivityContext context)
{
return context.GetValue(X) + context.GetValue(Y);
// 或:context.SetValue(base.Result, x+y); return base.Result.Get(context);
}
}
流程與結果:

public sealed class MyNativeActivity : NativeActivity<int>
{
public InArgument<int> X { get; set; }
public InArgument<int> Y { get; set; }
protected override void Execute(NativeActivityContext context)
{
int r = context.GetValue(X) + context.GetValue(Y);
this.Result.Set(context, r);
}
}
流程與結果:
