NativeActivity Класс

Определение

Абстрактный базовый класс для пользовательских действий, реализующих логику выполнения с помощью Execute(NativeActivityContext) метода, который имеет полный доступ к функциям среды выполнения.

public ref class NativeActivity abstract : System::Activities::Activity
public abstract class NativeActivity : System.Activities.Activity
type NativeActivity = class
    inherit Activity
Public MustInherit Class NativeActivity
Inherits Activity
Наследование
NativeActivity
Производный

Примеры

В следующем примере кода показано создание класса, наследуемого от NativeActivity<TResult>. В этом примере используется пример пользовательского составного кода с использованием собственного действия .

public sealed class MySequence : NativeActivity
{
    Collection<Activity> children;
    Collection<Variable> variables;
    Variable<int> currentIndex;
    CompletionCallback onChildComplete;

    public MySequence()
        : base()
    {
        this.children = new Collection<Activity>();
        this.variables = new Collection<Variable>();
        this.currentIndex = new Variable<int>();
    }

    public Collection<Activity> Activities
    {
        get
        {
            return this.children;
        }
    }
    public Collection<Variable> Variables
    {
        get
        {
            return this.variables;
        }
    }
    protected override void CacheMetadata(NativeActivityMetadata metadata)
    {
        //call base.CacheMetadata to add the Activities and Variables to this activity's metadata
        base.CacheMetadata(metadata);
        //add the private implementation variable: currentIndex
        metadata.AddImplementationVariable(this.currentIndex);
    }

    protected override void Execute(NativeActivityContext context)
    {
        InternalExecute(context, null);
    }
    void InternalExecute(NativeActivityContext context, ActivityInstance instance)
    {
        //grab the index of the current Activity
        int currentActivityIndex = this.currentIndex.Get(context);
        if (currentActivityIndex == Activities.Count)
        {
            //if the currentActivityIndex is equal to the count of MySequence's Activities
            //MySequence is complete
            return;
        }

        if (this.onChildComplete == null)
        {
            //on completion of the current child, have the runtime call back on this method
            this.onChildComplete = new CompletionCallback(InternalExecute);
        }
        //grab the next Activity in MySequence.Activities and schedule it
        Activity nextChild = Activities[currentActivityIndex];
        context.ScheduleActivity(nextChild, this.onChildComplete);

        //increment the currentIndex
        this.currentIndex.Set(context, ++currentActivityIndex);
    }
}

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

Имя Описание
NativeActivity()

При реализации в производном классе создает новый экземпляр производного класса.

Свойства

Имя Описание
CacheId

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

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

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

Constraints

Возвращает коллекцию Constraint действий, которые можно настроить для проверки.Activity

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

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

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

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

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

Логика выполнения действия.

ImplementationVersion

Возвращает или задает версию реализации действия.

Методы

Имя Описание
Abort(NativeActivityAbortContext)

При реализации в производном классе выполняет действия в ответ на прерванное действие.

CacheMetadata(ActivityMetadata)

Не реализовано. Используйте метод CacheMetadata(NativeActivityMetadata) вместо этого.

CacheMetadata(NativeActivityMetadata)

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

Cancel(NativeActivityContext)

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

Equals(Object)

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

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

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

GetHashCode()

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

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

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

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

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

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

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

OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

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

ShouldSerializeDisplayName()

Указывает, следует ли DisplayName сериализовать свойство.

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

Возвращает объект String , содержащий Id и DisplayName из нее Activity.

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

Обновляет экземпляр NativeActivity.

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