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 类。 可以在 EventHandlersActivityStateInitializationActivity 中使用 SetState 活动来移动工作流的状态。

StateActivity 执行时,唯一可以接收事件是可由 EventDrivenActivity 中的 StateActivity 活动和附加到封闭 EventDrivenActivity 活动和根 StateActivityActivity 活动处理的事件。

StateActivity 开始运行时,StateActivity 将检查是否存在 StateInitializationActivity 活动。 StateActivity 可以具有零个或一个 StateInitializationActivity 活动。 如果存在 StateInitializationActivity 活动,则会执行 StateInitializationActivity。 一旦 StateInitializationActivity 活动结束,StateActivity 即会阻止事件,以便 StateActivity 只接收可以由其 EventDrivenActivity 活动处理的事件。

StateActivity 是一种 CompositeActivity,这意味着 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 的事件添加处理程序。

(继承自 DependencyObject)
ApplyWorkflowChanges(WorkflowChanges)
已过时.

将参数中的 WorkflowChanges 清单应用到此实例。

(继承自 CompositeActivity)
Cancel(ActivityExecutionContext)
已过时.

取消执行 StateActivity

Clone()
已过时.

创建 Activity 的深层副本。

(继承自 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)
已过时.

确定此 metapropertiesDependencyObject 是否等于参数化的 metapropertiesDependencyObject

(继承自 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)
已过时.

DependencyProperty 中移除 DependencyObject

(继承自 DependencyObject)
Save(Stream)
已过时.

Activity 写入到 Stream 以便进行保留。

(继承自 Activity)
Save(Stream, IFormatter)
已过时.

使用为序列化提供的自定义 ActivityStream 写入到 IFormatter,以便进行保留。

(继承自 Activity)
SetBinding(DependencyProperty, ActivityBind)
已过时.

为指定的 ActivityBind 设置 DependencyProperty

(继承自 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
已过时.

在运行中的 ActivityExecutionStatusActivity 更改时发生。

(继承自 Activity)

显式接口实现

IComponent.Disposed
已过时.

表示处理组件的“Disposed”事件的方法。

(继承自 DependencyObject)

适用于

另请参阅