这个问题实际上只是为了帮助我理解Windows Workflow Foundation(WF),以及我将如何使用设计器在XAML中创建的工作流与我在代码中可以理解的方式进行比较(我是程序员!)。 / p>
这是:
using System;
using System.Activities;
using System.Activities.Statements;
namespace WorkflowConsoleApplication1
{
public class CodeDefinedWorkflow : Activity
{
static void Main(string[] args)
{
Console.WriteLine("Invoking the workflow now");
WorkflowInvoker.Invoke(new CodeDefinedWorkflow());
}
public CodeDefinedWorkflow()
{
Sequence s = new Sequence
{
Activities = {
new WriteLine {Text = "Hello"},
new Sequence
{
Activities =
{
new WriteLine {Text = "Workflow"},
new WriteLine {Text = "World"}
}
}
}
};
}
}
}
我希望WriteLine
活动将文本写入控制台(默认?)。
我必须错过添加根Sequence
活动的某些方法。我也试过把它作为一个属性,试图找到初始化组件的方法。
任何人都可以启发我吗?
答案 0 :(得分:0)
好的,我找到了答案!
删除构造函数的内容 - 并且有一个要覆盖的属性:
protected override Func<Activity> Implementation
{
get
{
return () =>
{
Sequence s = new Sequence
{
Activities = {
new WriteLine {Text = "Hello"},
new Sequence
{
Activities =
{
new WriteLine {Text = "Workflow"},
new WriteLine {Text = "World"}
}
}
}
};
return s;
};
}
set
{
base.Implementation = value;
}
}
答案 1 :(得分:0)
或者将构造函数中创建的对象分配给base.Implementation属性。