NativeActivity 类
定义
适用于特定自定义活动(这些活动使用 Execute(NativeActivityContext) 方法实现执行逻辑,该方法具有对运行时功能的完全访问权限)的抽象基类。Abstract base class for custom activities that implement execution logic using the Execute(NativeActivityContext) method, which has full access to the runtime's features.
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> 继承的类。The following code sample demonstrates creating a class that inherits from NativeActivity<TResult>. 此示例来自 使用本机活动示例的自定义复合 。This example is from the Custom Composite using Native Activity sample.
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() |
在派生类中实现时,创建派生类的新实例。When implemented in a derived class, creates a new instance of the derived class. |
属性
| CacheId |
获取缓存的标识符,该标识符在工作流定义的作用域内是唯一的。Gets the identifier of the cache that is unique within the scope of the workflow definition. (继承自 Activity) |
| CanInduceIdle |
获取或设置一个值,该值指示活动是否会使工作流进入空闲状态。Gets or sets a value that indicates whether the activity can cause the workflow to become idle. |
| Constraints |
获取可配置的 Constraint 活动的集合,用于为 Activity 提供验证。Gets a collection of Constraint activities that can be configured to provide validation for the Activity. (继承自 Activity) |
| DisplayName |
获取或设置用于调试、验证、异常处理和跟踪的可选友好名称。Gets or sets an optional friendly name that is used for debugging, validation, exception handling, and tracking. (继承自 Activity) |
| Id |
获取一个标识符,该标识符在工作流定义的作用域内是唯一的。Gets an identifier that is unique in the scope of the workflow definition. (继承自 Activity) |
| Implementation |
活动的执行逻辑。The execution logic of the activity. |
| ImplementationVersion |
获取或设置活动的实现版本。Gets or sets the implementation version of the activity. |
| ImplementationVersion |
获取或设置用于实现的版本。Gets or sets the version of the implementation used. (继承自 Activity) |
方法
| Abort(NativeActivityAbortContext) |
在派生类中实现时,采取措施响应要放弃的活动。When implemented in a derived class, takes actions in response to the activity being aborted. |
| CacheMetadata(ActivityMetadata) |
未实现。Not implemented. 请改用 CacheMetadata(NativeActivityMetadata) 方法。Use the CacheMetadata(NativeActivityMetadata) method instead. |
| CacheMetadata(NativeActivityMetadata) |
创建并验证活动的自变量、变量、子活动和活动委托的说明。Creates and validates a description of the activity's arguments, variables, child activities, and activity delegates. |
| Cancel(NativeActivityContext) |
在派生类中实现时,运行逻辑以正常方式提前实现活动。When implemented in a derived class, runs logic to cause graceful early completion of the activity. |
| Equals(Object) |
确定指定对象是否等于当前对象。Determines whether the specified object is equal to the current object. (继承自 Object) |
| Execute(NativeActivityContext) |
在派生类中实现时,运行活动的执行逻辑。When implemented in a derived class, runs the activity's execution logic. |
| GetHashCode() |
作为默认哈希函数。Serves as the default hash function. (继承自 Object) |
| GetType() |
获取当前实例的 Type。Gets the Type of the current instance. (继承自 Object) |
| MemberwiseClone() |
创建当前 Object 的浅表副本。Creates a shallow copy of the current Object. (继承自 Object) |
| OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity) |
为动态更新创建映射时,将引发事件。Raises an event when creating a map for the dynamic update. |
| OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity) |
为动态更新创建映射时,将引发事件。Raises an event when creating a map for the dynamic update. |
| OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity) |
创建动态更新映射时引发事件。Raises an event when creating dynamic update map. (继承自 Activity) |
| ShouldSerializeDisplayName() |
指示是否应序列化 DisplayName 属性。Indicates whether the DisplayName property should be serialized. (继承自 Activity) |
| ToString() |
返回包含 String 的 Id 和 DisplayName 的 Activity。Returns a String that contains the Id and DisplayName of the Activity. (继承自 Activity) |
| UpdateInstance(NativeActivityUpdateContext) |
更新 NativeActivity 的该实例。Updates the instance of NativeActivity. |