Windows Workflow Foundation 4 创建基本活动

发布于 2024-10-10 22:07:34 字数 501 浏览 3 评论 0原文

Windows Workflow Foundation 3.x 中,您过去能够创建一个 BaseWorkflow 类,您可以在其中在该工作流程中定义一些属性。

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

我们能否在 Windows Workflow Foundation 4 (WF 4) 中实现同样的目标?就像在 BaseActivity 上定义 InArgument 和 OutArgument 一样,然后创建另一个从 BaseActivity 派生的 Activity。

我尝试修改 XAML,比如喜欢...这就是我们在 WF 3.x 中所做的方式。

WF 4 好像不行。

In Windows Workflow Foundation 3.x, you used to be able to create a BaseWorkflow class where you could define some properties in that workflow.

And then when you create a workflow you can say it derives from BaseWorkflow class so it inherits all the properties from the base workflow.

Can we achieve the same thing in Windows Workflow Foundation 4 (WF 4)? Like defining InArgument and OutArgument on a BaseActivity then create another Activity that derives from the BaseActivity.

I tried by modify the XAML from let's say <Activity></Activity> to like <BaseActivity></BaseActivity> ... that was the way we did it in WF 3.x.

It doesn't seem to work in WF 4.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

┈┾☆殇 2024-10-17 22:07:34

找到了解决这个问题的办法。这实际上很容易。 XAML 声明生成的类被标记为 partial,因此您可以为您的活动(工作流)基础创建一个类(也标记为 partial)。然后在 XAML 中,只需将 Activity 上的类属性更改为刚刚创建的类的完整命名空间即可。

基活动示例:

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 参数,并且它们也会显示在您的派生活动中。

Found a solution to this. It's actually quite easy. The class generated by the XAML declaration is marked as partial so you can create a class (also marked partial) for your activity (workflow) base. Then in XAML, just change the class attribute on your activity to the full namespace of the class you just created.

Base Activity Example:

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

XAML example:

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

With this method, you can define both in and out arguments on the base class and they show up for your derived activities as well.

时光匆匆的小流年 2024-10-17 22:07:34

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

Yes, you can create a BaseActivity and define its InArguments and OutArguments. You can then create a new class, say Activity1:BaseActivity and it still has BaseActivity's InArguments and OutArguments

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文