1

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

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

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

4

2 回答 2

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);
    }
}
于 2010-10-26T10:08:37.237 回答
0

附加信息,MSDN 网站上有两个非常有用的视频教程:开发自定义活动活动设计器,我假设演讲者与接受的回答者是同一个莫里斯 :)

于 2010-10-28T09:45:51.580 回答