次の方法で共有


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

StringId および DisplayName を含む Activity を返します。

(継承元 Activity)
UpdateInstance(NativeActivityUpdateContext)

NativeActivity のインスタンスを更新します。

適用対象