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) |
メソッド
適用対象
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET