如何在重新托管的Workflow 4 Designer中自定义活动?

时间:2010-10-26 09:43:28

标签: .net workflow-foundation workflow-foundation-4 workflow-activity

article显示了如何在重新托管的Workflow设计器中创建自定义活动(使用Workflow Foundation 4)。在该示例中,通过实现MyDelayActivity接口并指定IActivityTemplateFactory输入的默认值来创建Delay

但是,是否可以修改活动的输入? 例如,假设我想添加一个新的StartProcess活动,它接受一个字符串并运行该字符串指定的进程。我可以通过添加InvokeMethod活动,指定Process.Start作为方法以及包含字符串作为参数的Collection来实现本机活动。

我可以通过只有一个字符串输入的StartProcess框来简化所有这些吗?

2 个答案:

答案 0 :(得分:2)

当然,只需创建活动即可完成工作并添加InArgument属性以提供所需的数据。将活动放在设计图面上时,可以使用属性表来设置参数。或者,您可以创建一个活动设计器来在设计图面上执行相同的操作,例如WriteLine活动。

示例:

public sealed class MyWriteLine : CodeActivity
{
    public InArgument<string> Text { get; set; }

    protected override void Execute(CodeActivityContext context)
    {
        string text = context.GetValue(this.Text);
        Console.WriteLine(text);
    }
}

答案 1 :(得分:0)

其他信息,MSDN网站上有两个非常有用的视频教程:Developing custom activitiesActivity designers,我认为演讲者与接受的回答者是同一个Maurice:)