[英]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.