此article显示了如何在重新托管的Workflow设计器中创建自定义活动(使用Workflow Foundation 4)。在该示例中,通过实现MyDelayActivity
接口并指定IActivityTemplateFactory
输入的默认值来创建Delay
。
但是,是否可以修改活动的输入?
例如,假设我想添加一个新的StartProcess
活动,它接受一个字符串并运行该字符串指定的进程。我可以通过添加InvokeMethod
活动,指定Process.Start
作为方法以及包含字符串作为参数的Collection来实现本机活动。
我可以通过只有一个字符串输入的StartProcess
框来简化所有这些吗?
答案 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 activities和Activity designers,我认为演讲者与接受的回答者是同一个Maurice:)