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

获取或设置活动的实现版本。

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()

返回包含 StringIdDisplayNameActivity

(继承自 Activity)
UpdateInstance(NativeActivityUpdateContext)

更新 NativeActivity 的该实例。

适用于