Поделиться через


DynamicActivity Класс

Определение

Предоставляет объектную модель, которая позволяет динамически создавать действия, взаимодействующие с конструктором Workflow Foundation и средой выполнения с помощью ICustomTypeDescriptor.

public ref class DynamicActivity sealed : System::Activities::Activity, System::ComponentModel::ICustomTypeDescriptor
[System.Windows.Markup.ContentProperty("Implementation")]
public sealed class DynamicActivity : System.Activities.Activity, System.ComponentModel.ICustomTypeDescriptor
[<System.Windows.Markup.ContentProperty("Implementation")>]
type DynamicActivity = class
    inherit Activity
    interface ICustomTypeDescriptor
Public NotInheritable Class DynamicActivity
Inherits Activity
Implements ICustomTypeDescriptor
Наследование
DynamicActivity
Атрибуты
Реализации

Примеры

В следующем примере показано, как создать DynamicActivity.

// Variables
var iterationVariable = new DelegateInArgument<int>() { Name = "iterationVariable" };
var accumulator = new Variable<int>() { Default = 0, Name = "accumulator" };

// Define the Input and Output arguments that the DynamicActivity binds to
var numbers = new InArgument<List<int>>();
var average = new OutArgument<double>();

var result = new Variable<double>() { Name = "result" };

return new DynamicActivity()
{
    DisplayName = "Find average",
    Properties =
    {
        // Input argument
        new DynamicActivityProperty
        {
            Name = "Numbers",
            Type = typeof(InArgument<List<int>>),
            Value = numbers
        },
        // Output argument
        new DynamicActivityProperty
        {
            Name = "Average",
            Type = typeof(OutArgument<double>),
            Value = average
        }
    },
    Implementation = () =>
        new Sequence
        {
            Variables = { result, accumulator },
            Activities =
            {
                new ForEach<int>
                {
                    Values =  new ArgumentValue<IEnumerable<int>> { ArgumentName = "Numbers" },
                    Body = new ActivityAction<int>
                    {
                        Argument = iterationVariable,
                        Handler = new Assign<int>
                        {
                            To = accumulator,
                            Value = new InArgument<int>(env => iterationVariable.Get(env) +  accumulator.Get(env))
                        }
                    }
                },

                // Calculate the average and assign to the output argument.
                new Assign<double>
                {
                    To = new ArgumentReference<double> { ArgumentName = "Average" },
                    Value = new InArgument<double>(env => accumulator.Get(env) / numbers.Get(env).Count<int>())
                },
            }
        }

Конструкторы

DynamicActivity()

Создает новый экземпляр класса DynamicActivity.

Свойства

Attributes

Возвращает коллекцию атрибутов динамически формируемого действия.

CacheId

Возвращает идентификатор кэша, уникальный в пределах области определения рабочего процесса.

(Унаследовано от Activity)
Constraints

Возвращает коллекцию действий Constraint, настроенных для проверки объекта DynamicActivity.

DisplayName

Возвращает или задает дополнительное понятное имя, используемое для отладки, проверки, обработки исключений и отслеживания.

(Унаследовано от Activity)
Id

Возвращает идентификатор, уникальный в пределах области определения рабочего процесса.

(Унаследовано от Activity)
Implementation

Возвращает или задает логику выполнения действия.

ImplementationVersion

Получает или задает версию реализации действия.

ImplementationVersion

Получает или задает версию используемой реализации.

(Унаследовано от Activity)
Name

Имя, отображаемое для действия в конструкторе рабочих процессов.

Properties

Возвращает коллекцию свойств, сопоставленных с аргументами динамически формируемого действия.

Методы

CacheMetadata(ActivityMetadata)

Создает и проверяет описание аргументов, переменных, дочерних действий и делегатов действия.

(Унаследовано от Activity)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

Вызывает событие при создании сопоставления для динамического обновления.

(Унаследовано от Activity)
ShouldSerializeDisplayName()

Указывает, необходима ли сериализация свойства DisplayName.

(Унаследовано от Activity)
ToString()

Возвращает значение типа String, которое содержит Id и DisplayName для Activity.

(Унаследовано от Activity)

Явные реализации интерфейса

ICustomTypeDescriptor.GetAttributes()

Возвращает коллекцию атрибутов динамического действия.

ICustomTypeDescriptor.GetClassName()

Возвращает имя класса динамического действия.

ICustomTypeDescriptor.GetComponentName()

Возвращает имя компонента динамического действия.

ICustomTypeDescriptor.GetConverter()

Возвращает преобразователь типов для динамического действия.

ICustomTypeDescriptor.GetDefaultEvent()

Возвращает событие по умолчанию для динамического действия.

ICustomTypeDescriptor.GetDefaultProperty()

Возвращает свойство по умолчанию для динамического действия.

ICustomTypeDescriptor.GetEditor(Type)

Возвращает редактор с заданным базовым типом.

ICustomTypeDescriptor.GetEvents()

Возвращает коллекцию событий динамического действия.

ICustomTypeDescriptor.GetEvents(Attribute[])

Возвращает коллекцию событий для динамического действия, используя указанный массив атрибутов в качестве фильтра.

ICustomTypeDescriptor.GetProperties()

Возвращает коллекцию свойств динамического действия.

ICustomTypeDescriptor.GetProperties(Attribute[])

Возвращает коллекцию свойств динамического действия, используя указанный массив атрибутов в качестве фильтра.

ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

Возвращает данный экземпляр класса DynamicActivity.

Применяется к