StateActivity 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
警告
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 活動會在 EventHandlersActivity 內使用,並 StateInitializationActivity 來移動工作流程的狀態。
執行 StateActivity 時,唯一可以接收的事件是 StateActivity 中 EventDrivenActivity 活動可以處理的事件,以及附加至封入 StateActivity 活動和根 Activity的 EventDrivenActivity 活動。
當 StateActivity 開始執行時,StateActivity 會檢查 StateInitializationActivity 活動是否存在。 StateActivity 可以有零或一個 StateInitializationActivity 活動。 如果 StateInitializationActivity 活動存在,則會執行 StateInitializationActivity。 一旦 StateInitializationActivity 活動完成,StateActivity 就會封鎖事件,讓 StateActivity 只接收可由其 EventDrivenActivity 活動處理的事件。
StateActivity 是 CompositeActivity,這表示 StateActivity 活動可以包含其他活動。
建構函式
StateActivity() |
已淘汰.
初始化 StateActivity 類別的新實例。 |
StateActivity(String) |
已淘汰.
使用活動的名稱,初始化 StateActivity 類別的新實例。 |
欄位
StateChangeTrackingDataKey |
已淘汰.
保留變更追蹤數據索引鍵的字串值;“StateActivity.StateChange”。 此欄位是常數。 |
屬性
方法
事件
Canceling |
已淘汰.
發生於取消活動執行時。 (繼承來源 Activity) |
Closed |
已淘汰.
發生於 Activity 已完成執行時。 (繼承來源 Activity) |
Compensating |
已淘汰.
在 Activity上執行補償方法時發生。 (繼承來源 Activity) |
Executing |
已淘汰.
執行 Activity 時發生。 (繼承來源 Activity) |
Faulting |
已淘汰.
在實例執行期間引發例外狀況時發生。 (繼承來源 Activity) |
StatusChanged |
已淘汰.
發生於執行中 Activity 的 ActivityExecutionStatus 變更時。 (繼承來源 Activity) |
明確介面實作
IComponent.Disposed |
已淘汰.
表示處理元件 Disposed 事件的方法。 (繼承來源 DependencyObject) |
適用於
另請參閱
- 使用狀態活動