繁体   English   中英

在Designer中为NativeActivity添加变量 <T> 在wf4中

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM