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<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, которые можно настроить для выполнения проверки the Activity. (Унаследовано от Activity) |
DisplayName |
Возвращает или задает дополнительное понятное имя, используемое для отладки, проверки, обработки исключений и отслеживания. (Унаследовано от Activity) |
Id |
Возвращает идентификатор, уникальный в пределах области определения рабочего процесса. (Унаследовано от Activity) |
Implementation |
Логика выполнения действия. |
ImplementationVersion |
Получает или задает версию реализации действия. |
ImplementationVersion |
Получает или задает версию используемой реализации. (Унаследовано от Activity) |
Методы
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) |
Вызывает событие при создании сопоставления для динамического обновления. |
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity) |
Вызывает событие при создании сопоставления для динамического обновления. (Унаследовано от Activity) |
ShouldSerializeDisplayName() |
Указывает, необходима ли сериализация свойства DisplayName. (Унаследовано от Activity) |
ToString() |
Возвращает значение типа String, которое содержит Id и DisplayName для Activity. (Унаследовано от Activity) |
UpdateInstance(NativeActivityUpdateContext) |
Обновляет экземпляр NativeActivity. |