StateActivity 類別

定義

警告

The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*

表示 StateMachineWorkflowActivity 中的狀態。

public ref class StateActivity : System::Workflow::ComponentModel::CompositeActivity
[System.Drawing.ToolboxBitmap(typeof(System.Workflow.Activities.StateActivity), "Resources.StateActivity.png")]
[System.Runtime.InteropServices.ComVisible(false)]
[System.Workflow.ComponentModel.Compiler.ActivityValidator(typeof(System.Workflow.Activities.StateActivityValidator))]
public class StateActivity : System.Workflow.ComponentModel.CompositeActivity
[System.Drawing.ToolboxBitmap(typeof(System.Workflow.Activities.StateActivity), "Resources.StateActivity.png")]
[System.Runtime.InteropServices.ComVisible(false)]
[System.Workflow.ComponentModel.Compiler.ActivityValidator(typeof(System.Workflow.Activities.StateActivityValidator))]
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public class StateActivity : System.Workflow.ComponentModel.CompositeActivity
[<System.Drawing.ToolboxBitmap(typeof(System.Workflow.Activities.StateActivity), "Resources.StateActivity.png")>]
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Workflow.ComponentModel.Compiler.ActivityValidator(typeof(System.Workflow.Activities.StateActivityValidator))>]
type StateActivity = class
    inherit CompositeActivity
[<System.Drawing.ToolboxBitmap(typeof(System.Workflow.Activities.StateActivity), "Resources.StateActivity.png")>]
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Workflow.ComponentModel.Compiler.ActivityValidator(typeof(System.Workflow.Activities.StateActivityValidator))>]
[<System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type StateActivity = class
    inherit CompositeActivity
Public Class StateActivity
Inherits CompositeActivity
繼承
衍生
屬性

範例

下列程式碼範例示範如何建立 StateActivity 類別的新執行個體,並用它實作簡單狀態機器,以便在 3 個狀態之間轉換。 這個程式碼範例是 StateMachineWorkflow.cs 檔案中<SimpleStateMachineWorkflow SDK>範例的一部分。 如需詳細資訊,請參閱 簡單狀態機器

this.WhileLoop = new System.Workflow.Activities.WhileActivity();
this.Parallel = new System.Workflow.Activities.ParallelActivity();
this.Sequence1 = new System.Workflow.Activities.SequenceActivity();
this.Sequence2 = new System.Workflow.Activities.SequenceActivity();
this.ConsoleMessage1 = new System.Workflow.Activities.CodeActivity();
this.ConsoleMessage2 = new System.Workflow.Activities.CodeActivity();
//
// WhileLoop
//
this.WhileLoop.Activities.Add(this.Parallel);
codecondition1.Condition += new System.EventHandler<System.Workflow.Activities.ConditionalEventArgs>(this.WhileCondition);
this.WhileLoop.Condition = codecondition1;
this.WhileLoop.Name = "WhileLoop";
//
// Parallel
//
this.Parallel.Activities.Add(this.Sequence1);
this.Parallel.Activities.Add(this.Sequence2);
this.Parallel.Name = "Parallel";
Me.WhileLoop = New System.Workflow.Activities.WhileActivity()
Me.Parallel = New System.Workflow.Activities.ParallelActivity()
Me.Sequence1 = New System.Workflow.Activities.SequenceActivity()
Me.Sequence2 = New System.Workflow.Activities.SequenceActivity()
Me.ConsoleMessage1 = New System.Workflow.Activities.CodeActivity()
Me.ConsoleMessage2 = New System.Workflow.Activities.CodeActivity()
' 
' WhileLoop
' 
Me.WhileLoop.Activities.Add(Me.Parallel)
AddHandler codecondition1.Condition, AddressOf Me.WhileCondition
Me.WhileLoop.Condition = codecondition1
Me.WhileLoop.Name = "WhileLoop"
' 
' Parallel
' 
Me.Parallel.Activities.Add(Me.Sequence1)
Me.Parallel.Activities.Add(Me.Sequence2)
Me.Parallel.Name = "Parallel"

備註

注意

此資料討論已被汰換的類型及命名空間。 如需詳細資訊,請參閱 Windows Workflow Foundation 4.5 中即將淘汰的類型

StateActivity 表示 StateMachineWorkflowActivity 中的狀態。 狀態活動可包含一個或多個 EventDrivenActivity,或 StateActivity 類別、一個 StateInitializationActivity 類別和一個 StateFinalizationActivity 類別。 SetState 活動用於 EventHandlersActivityStateInitializationActivity 之內,以移動工作流程的狀態。

StateActivity 正在執行時,只會接收可由 EventDrivenActivityStateActivity 活動處理的事件,以及可由附加至封入 EventDrivenActivity 活動和根 StateActivityActivity 活動的事件。

StateActivity 開始執行時,StateActivity 將確認是否呈現 StateInitializationActivity 活動。 StateActivity 擁有零或一個 StateInitializationActivity 活動。 如果呈現 StateInitializationActivity 活動,則將執行 StateInitializationActivity。 只要 StateInitializationActivity 活動一完成,StateActivity 便會封鎖事件,因此 StateActivity 只接收可由其 EventDrivenActivity 活動處理的事件。

StateActivityCompositeActivity,亦即 StateActivity 活動可以包含其他活動。

建構函式

StateActivity()
已淘汰.

初始化 StateActivity 類別的新執行個體。

StateActivity(String)
已淘汰.

使用活動的名稱,初始化 StateActivity 類別的新執行個體。

欄位

StateChangeTrackingDataKey
已淘汰.

保留變更追蹤資料索引鍵的字串值;"StateActivity.StateChange"。 這個欄位是常數。

屬性

Activities
已淘汰.

取得物件,這個物件代表所有子活動的集合 ActivityCollection

(繼承來源 CompositeActivity)
CanModifyActivities
已淘汰.

取得或設定值,這個值可控制是否會修改 Activities 內的個別活動。

(繼承來源 CompositeActivity)
Description
已淘汰.

取得或設定 Activity 的使用者定義描述。

(繼承來源 Activity)
DesignMode
已淘汰.

取得值,這個值會指出這個執行個體是在設計模式或執行階段模式中。

(繼承來源 DependencyObject)
Enabled
已淘汰.

取得或設定值,這個值會指出是否啟用這個執行個體進行執行和驗證。

(繼承來源 Activity)
EnabledActivities
已淘汰.

取得唯讀集合,這個集合代表已啟用 Activities 的子集。

(繼承來源 CompositeActivity)
ExecutionResult
已淘汰.

取得最後嘗試要執行這個執行個體的 ActivityExecutionResult

(繼承來源 Activity)
ExecutionStatus
已淘汰.

取得這個執行個體的目前 ActivityExecutionStatus

(繼承來源 Activity)
IsDynamicActivity
已淘汰.

取得有關活動是否執行於工作流程執行個體之預設 ActivityExecutionContext 內的資訊。

(繼承來源 Activity)
Name
已淘汰.

取得或設定這個執行個體的名稱。 這個名稱必須符合工作流程專案中所使用之程式語言的變數命名慣例。

(繼承來源 Activity)
Parent
已淘汰.

取得含有這個 CompositeActivityActivity

(繼承來源 Activity)
ParentDependencyObject
已淘汰.

取得 DependencyObject 圖形中的父代 DependencyObject

(繼承來源 DependencyObject)
QualifiedName
已淘汰.

取得活動的完整名稱。 在工作流程執行個體中,完整的活動名稱永遠是唯一的。

(繼承來源 Activity)
Site
已淘汰.

取得或設定 SiteDependencyObject 元件的參考。

(繼承來源 DependencyObject)
UserData
已淘汰.

取得 IDictionary,它會將自訂資料與這個類別執行個體產生關聯。

(繼承來源 DependencyObject)
WorkflowInstanceId
已淘汰.

取得與執行個體相關聯的 Guid

(繼承來源 Activity)

方法

AddHandler(DependencyProperty, Object)
已淘汰.

加入 之事件的處理常式。

(繼承來源 DependencyObject)
ApplyWorkflowChanges(WorkflowChanges)
已淘汰.

將參數中的 WorkflowChanges 資訊清單套用至這個執行個體。

(繼承來源 CompositeActivity)
Cancel(ActivityExecutionContext)
已淘汰.

取消執行 StateActivity

Clone()
已淘汰.

建立 Activity 的深層複本 (Deep Copy)。

(繼承來源 Activity)
Dispose()
已淘汰.

釋放 DependencyObject 使用的所有資源。

(繼承來源 DependencyObject)
Dispose(Boolean)
已淘汰.

呼叫這個執行個體上的 Dispose(Boolean),並選擇性呼叫這個執行個體其所有子活動上的 Dispose()

(繼承來源 CompositeActivity)
Equals(Object)
已淘汰.

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
Execute(ActivityExecutionContext)
已淘汰.

執行 StateActivity

GetActivityByName(String)
已淘汰.

傳回 Activity 的執行個體,其名稱是向執行於此執行個體之根活動下的活動全體集合要求而來的,該執行個體則位於工作流程內。

(繼承來源 Activity)
GetActivityByName(String, Boolean)
已淘汰.

傳回 Activity 的執行個體,如果第二個參數是 Activity,則要求其名稱的來源是在這個執行個體其 false 的根項目之下的所有活動集,如果第二個參數是 Activity,則來源是在目前 true 之下。

(繼承來源 Activity)
GetBinding(DependencyProperty)
已淘汰.

提供存取與特定 ActivityBind 相關聯的 DependencyProperty

(繼承來源 DependencyObject)
GetBoundValue(ActivityBind, Type)
已淘汰.

擷取 Object,其為 ActivityBind 的主體。

(繼承來源 DependencyObject)
GetDynamicActivities(Activity)
已淘汰.

傳回陣列,這個陣列包含指定活動之所有目前執行的執行個體。

(繼承來源 CompositeActivity)
GetDynamicActivity(String)
已淘汰.

取得對應至指定子活動名稱之 Activity 的執行個體。

GetHashCode()
已淘汰.

做為預設雜湊函式。

(繼承來源 Object)
GetInvocationList<T>(DependencyProperty)
已淘汰.

取得陣列,這個陣列包含指定 DependencyProperty 的委派。

(繼承來源 DependencyObject)
GetType()
已淘汰.

取得目前執行個體的 Type

(繼承來源 Object)
GetValue(DependencyProperty)
已淘汰.

提供存取所指定 DependencyProperty 的值。

(繼承來源 DependencyObject)
GetValueBase(DependencyProperty)
已淘汰.

提供對 DependencyProperty 其繫結物件的存取,並略過 GetValue(DependencyProperty) 覆寫。

(繼承來源 DependencyObject)
HandleFault(ActivityExecutionContext, Exception)
已淘汰.

在這個執行個體的執行內容中引發例外狀況時呼叫。

(繼承來源 CompositeActivity)
Initialize(IServiceProvider)
已淘汰.

使用服務提供者初始化 StateActivity

InitializeProperties()
已淘汰.

在衍生類別中覆寫時,在相依性屬性上執行初始化。

(繼承來源 DependencyObject)
Invoke<T>(EventHandler<T>, T)
已淘汰.

訂閱 EventHandler 並叫用該委派。

(繼承來源 Activity)
Invoke<T>(IActivityEventListener<T>, T)
已淘汰.

訂閱 IActivityEventListener<T> 並叫用該委派。

(繼承來源 Activity)
IsBindingSet(DependencyProperty)
已淘汰.

指出 DependencyProperty 的值是否已設定為繫結。 請參閱 SetBinding(DependencyProperty, ActivityBind)

(繼承來源 DependencyObject)
MemberwiseClone()
已淘汰.

建立目前 Object 的淺層複製。

(繼承來源 Object)
MetaEquals(DependencyObject)
已淘汰.

判斷這個 的 是否相等於參數化 的 。

(繼承來源 DependencyObject)
OnActivityChangeAdd(ActivityExecutionContext, Activity)
已淘汰.

判斷加入的活動是否為 EventDrivenActivity,如果是,則驗證是否必須訂閱新加入的事件驅動。

OnActivityChangeRemove(ActivityExecutionContext, Activity)
已淘汰.

移除活動時呼叫。

(繼承來源 CompositeActivity)
OnActivityExecutionContextLoad(IServiceProvider)
已淘汰.

每次載入此活動的 ActivityExecutionContext 時,由工作流程執行階段引擎呼叫。

(繼承來源 CompositeActivity)
OnActivityExecutionContextUnload(IServiceProvider)
已淘汰.

每次卸載此活動的 ActivityExecutionContext 時,由工作流程執行階段引擎呼叫。

(繼承來源 CompositeActivity)
OnClosed(IServiceProvider)
已淘汰.

由工作流程執行階段引擎呼叫,做為活動轉換為 Closed 狀態的一部分。

OnListChanged(ActivityCollectionChangeEventArgs)
已淘汰.

Activities 屬性變更時,執行額外的處理。

(繼承來源 CompositeActivity)
OnListChanging(ActivityCollectionChangeEventArgs)
已淘汰.

在變更基礎 Activities 之前發生的事件。

(繼承來源 CompositeActivity)
OnWorkflowChangesCompleted(ActivityExecutionContext)
已淘汰.

在變更這個執行個體的 Activities 集合後呼叫。

(繼承來源 CompositeActivity)
RaiseEvent(DependencyProperty, Object, EventArgs)
已淘汰.

引發與指定相依性屬性相關聯的 Event

(繼承來源 Activity)
RaiseGenericEvent<T>(DependencyProperty, Object, T)
已淘汰.

引發與所參考 DependencyProperty 相關聯的事件。

(繼承來源 Activity)
RegisterForStatusChange(DependencyProperty, IActivityEventListener<ActivityExecutionStatusChangedEventArgs>)
已淘汰.

註冊狀態變更事件的指定 DependencyProperty

(繼承來源 Activity)
RemoveHandler(DependencyProperty, Object)
已淘汰.

EventHandler 從相關聯的 DependencyProperty 移除。

(繼承來源 DependencyObject)
RemoveProperty(DependencyProperty)
已淘汰.

DependencyPropertyDependencyObject 中移除。

(繼承來源 DependencyObject)
Save(Stream)
已淘汰.

Activity 寫入保存性 (Persistence) 的 Stream

(繼承來源 Activity)
Save(Stream, IFormatter)
已淘汰.

使用為序列化提供的自訂 Activity,將 Stream 寫入 IFormatter 以供保存。

(繼承來源 Activity)
SetBinding(DependencyProperty, ActivityBind)
已淘汰.

設定所指定 ActivityBindDependencyProperty

(繼承來源 DependencyObject)
SetBoundValue(ActivityBind, Object)
已淘汰.

設定目標 ActivityBind 的值。

(繼承來源 DependencyObject)
SetReadOnlyPropertyValue(DependencyProperty, Object)
已淘汰.

設定唯讀的 DependencyProperty 其值。

(繼承來源 DependencyObject)
SetValue(DependencyProperty, Object)
已淘汰.

DependencyProperty 的值設定給物件。

(繼承來源 DependencyObject)
SetValueBase(DependencyProperty, Object)
已淘汰.

DependencyProperty 的值設定為指定的 Object,略過 SetValue(DependencyProperty, Object)

(繼承來源 DependencyObject)
ToString()
已淘汰.

提供代表這個執行個體的字串。

(繼承來源 Activity)
TrackData(Object)
已淘汰.

通知執行階段追蹤基礎結構關於暫止追蹤的資訊。

(繼承來源 Activity)
TrackData(String, Object)
已淘汰.

通知執行階段追蹤基礎結構關於暫止追蹤的資訊。

(繼承來源 Activity)
Uninitialize(IServiceProvider)
已淘汰.

活動從 Closed 狀態轉換為 Initialized 狀態時,由工作流程執行階段引擎呼叫。

(繼承來源 CompositeActivity)
UnregisterForStatusChange(DependencyProperty, IActivityEventListener<ActivityExecutionStatusChangedEventArgs>)
已淘汰.

解除註冊狀態變更事件的指定 DependencyProperty

(繼承來源 Activity)

事件

Canceling
已淘汰.

取消執行活動時發生。

(繼承來源 Activity)
Closed
已淘汰.

發生於 Activity 已完成執行時。

(繼承來源 Activity)
Compensating
已淘汰.

發生於在 Activity 上執行補償方法時。

(繼承來源 Activity)
Executing
已淘汰.

發生於執行 Activity 時。

(繼承來源 Activity)
Faulting
已淘汰.

在執行個體執行期間引發例外狀況時發生。

(繼承來源 Activity)
StatusChanged
已淘汰.

發生於正在執行之 的 變更時。

(繼承來源 Activity)

明確介面實作

IComponent.Disposed
已淘汰.

表示處理元件 Disposed 事件的方法。

(繼承來源 DependencyObject)

適用於

另請參閱