Windows Workflow Foundation 4创建基本活动

时间:2011-01-06 21:46:05

标签: c# .net workflow-foundation-4

Windows Workflow Foundation 3.x中,您曾经能够创建一个BaseWorkflow类,您可以在该类中定义该工作流中的某些属性。

然后,当您创建工作流时,您可以说它派生自BaseWorkflow类,因此它继承了基础工作流中的所有属性。

我们可以在Windows Workflow Foundation 4(WF 4)中实现相同的功能吗?就像在BaseActivity上定义InArgument和OutArgument一样,然后创建另一个派生自BaseActivity的Activity。

我尝试修改XAML,让我们说< Activity>< / Activity>喜欢< BaseActivity>< / BaseActivity> ......这就是我们在WF 3.x中做到的方式。

它似乎不适用于WF 4。

2 个答案:

答案 0 :(得分:2)

找到了解决方案。这实际上非常简单。由XAML声明生成的类标记为partial,因此您可以为您的活动(工作流)基础创建一个类(也标记为partial)。然后在XAML中,只需将活动的class属性更改为刚刚创建的类的完整命名空间。

基本活动示例:

public partial class OurBaseWorkflow : Activity
{
     public InArgument<string> StandardInput { get;set; }
}

XAML示例:

<p:Activity x:Class="MyNamespace.OurBaseWorkflow"
            xmlns:s="clr-namespace:System;assembly=mscorlib"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    ...
</p:Activity>

使用此方法,您可以在基类上定义in和out参数,并且它们也会显示在派生活动中。

答案 1 :(得分:0)

是的,您可以创建BaseActivity并定义其InArguments和OutArguments。然后,您可以创建一个新类,比如Activity1:BaseActivity,它仍然有BaseActivity的InArguments和OutArguments