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() |
傳回包含 的 和 的 。 (繼承來源 Activity) |
UpdateInstance(NativeActivityUpdateContext) |
更新 NativeActivity 的執行個體。 |