NativeActivity 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
适用于特定自定义活动(这些活动使用 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 活动的集合,用于为 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 的该实例。 |