[英]Add variables in designer for NativeActivity<T> in wf4
我有一個擴展NativeActivity的類
我想允許從設計器向活動范圍添加變量。 如何修改活動代碼,以便設計人員讓我添加變量?
我的密碼
public class MyActivity : NativeActivity<bool>
{
public InArgument<string> SomeInArg { get; set; }
public InArgument<object> RefInArg { get; set; }
public WorkflowDataContext Data { get; set; }
public Collection<Variable> Variables { get; set; }
protected override void Execute(NativeActivityContext context)
{
Result.Set(context, true);
}
}
謝謝。
令人驚訝的是,添加了一個返回空集合的getter即可解決問題。 我懷疑設計器試圖以某種方式訪問variables
集合,並且當返回null時-它沒有選擇權以在設計器中設置變量。
public Collection<Variable> Variables { get; } = new Collection<Variable>();
但是現在嘗試訪問變量導致
Activity '1.1: MyActivity' cannot access this variable
because it is declared at the scope of activity '1.1: MyActivity'.
An activity can only access its own implementation variables.
嘗試:
Collection<Variable> variables;
public Collection<Variable> Variables
{
get
{
if (this.variables == null)
{
this.variables = new Collection<Variable>();
}
return this.variables;
}
}
只有避免“訪問”問題,這才會初始化您的收藏集。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.