Windows Workflow Foundation 4 Создание базовой активности - PullRequest
2 голосов
/ 07 января 2011

В Windows Workflow Foundation 3.x вы имели обыкновение создавать класс BaseWorkflow, где вы могли определять некоторые свойства в этом рабочем процессе.

И затем, когда вы создаете рабочий процесс, вы можете сказать, что он наследуется от класса BaseWorkflow, поэтому он наследует все свойства базового рабочего процесса.WF 4)Подобно определению InArgument и OutArgument для BaseActivity, создайте еще одно действие, производное от BaseActivity.

Я попытался изменить XAML, скажем, , чтобы он понравился ... так мы и сделали в WF 3.x.

Это не работает в WF 4.

Ответы [ 2 ]

2 голосов
/ 01 июня 2011

Нашел решение для этого. Это на самом деле довольно легко. Класс, сгенерированный объявлением XAML, помечен как partial, поэтому вы можете создать класс (также помеченный partial) для вашей базы действий (рабочего процесса). Затем в XAML просто измените атрибут класса вашей деятельности на полное пространство имен только что созданного класса.

Пример базовой активности:

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>

С помощью этого метода вы можете определять как входные, так и исходящие аргументы в базовом классе, и они отображаются также для ваших производных действий.

0 голосов
/ 07 января 2011

Да, вы можете создать BaseActivity и определить его InArguments и OutArguments. Затем вы можете создать новый класс, скажем, Activity1:BaseActivity, и он все еще имеет BaseActivity InArguments и OutArguments

...