1

这个问题实际上只是为了帮助我理解 Windows Workflow Foundation (WF),以及我将如何使用设计器在 XAML 中创建的工作流与我在代码中理论上可以做的事情进行比较(我是一名程序员!)。

这里是:

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活动的方法。我还尝试将其设为属性并尝试找到某种初始化组件的方法。

任何人都可以启发我吗?

4

2 回答 2

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;
        }
    }
于 2012-07-04T16:24:13.593 回答
0

或者将构造函数中创建的对象赋值给 base.Implementation 属性。

于 2014-10-29T19:03:55.023 回答