CompositeActivity 类
Activity 的派生,前者是包含其他活动的所有活动的基类。CompositeActivity 负责管理其子活动的执行。
命名空间: System.Workflow.ComponentModel
程序集: System.Workflow.ComponentModel(在 System.Workflow.ComponentModel.dll 中)
语法
Visual Basic(声明)
<ActivityValidatorAttribute(GetType(CompositeActivityValidator))> _ <ActivityCodeGeneratorAttribute(GetType(CompositeActivityCodeGenerator))> _ <ContentPropertyAttribute("Activities")> _ Public Class CompositeActivity _ Inherits Activity
C#
[ActivityValidatorAttribute(typeof(CompositeActivityValidator))] [ActivityCodeGeneratorAttribute(typeof(CompositeActivityCodeGenerator))] [ContentPropertyAttribute("Activities")] public class CompositeActivity : Activity
Visual C++
[ActivityValidatorAttribute(typeof(CompositeActivityValidator))] [ActivityCodeGeneratorAttribute(typeof(CompositeActivityCodeGenerator))] [ContentPropertyAttribute(L"Activities")] public ref class CompositeActivity : public Activity
F#
[<ActivityValidatorAttribute(typeof(CompositeActivityValidator))>] [<ActivityCodeGeneratorAttribute(typeof(CompositeActivityCodeGenerator))>] [<ContentPropertyAttribute("Activities")>] type CompositeActivity = class inherit Activity end
备注
CompositeActivity 使用在 Activity 类上定义的 ActivityExecutionContext 类方法和事件来管理其子活动的执行。例如,使用 ActivityExecutionContext 的 ExecuteActivity 来计划子活动的执行。当子活动完成执行后,通过订阅在 Activity 中定义的 Closed 事件,可以向 CompositeActivity 活动发出通知。
工作流运行时对 CompositeActivity 执行强制实施特定约束,其中最基本的约束是,如果任何子活动仍处于 Executing、Canceling、Compensating 或 Faulting 状态,则 CompositeActivity 活动不能进入 Closed 状态。
示例
此示例演示一个基本的 CompositeActivity,它在执行时执行其第一个子活动。当子活动进入关闭状态时,将通知复合活动,然后完成其执行。
C#
public class HasOneChildActivity : CompositeActivity { protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext) { Activity child = this.EnabledActivities[0]; child.Closed += this.ChildClosed; executionContext.ExecuteActivity(child); return ActivityExecutionStatus.Executing; } void ChildClosed(object sender, ActivityExecutionStatusChangedEventArgs e) { e.Activity.Closed -= this.ChildClosed; ActivityExecutionContext executionContext = sender as ActivityExecutionContext; executionContext.CloseActivity(); } }
继承层次结构
System..::.Object
System.Workflow.ComponentModel..::.DependencyObject
System.Workflow.ComponentModel..::.Activity
System.Workflow.ComponentModel..::.CompositeActivity
System.Workflow.Activities..::.ConditionedActivityGroup
System.Workflow.Activities..::.EventHandlersActivity
System.Workflow.Activities..::.EventHandlingScopeActivity
System.Workflow.Activities..::.IfElseActivity
System.Workflow.Activities..::.ListenActivity
System.Workflow.Activities..::.ParallelActivity
System.Workflow.Activities..::.ReplicatorActivity
System.Workflow.Activities..::.SequenceActivity
System.Workflow.Activities..::.StateActivity
System.Workflow.Activities..::.WhileActivity
System.Workflow.ComponentModel..::.CancellationHandlerActivity
System.Workflow.ComponentModel..::.CompensatableTransactionScopeActivity
System.Workflow.ComponentModel..::.CompensationHandlerActivity
System.Workflow.ComponentModel..::.FaultHandlerActivity
System.Workflow.ComponentModel..::.FaultHandlersActivity
System.Workflow.ComponentModel..::.SynchronizationScopeActivity
System.Workflow.ComponentModel..::.TransactionScopeActivity
System.Workflow.ComponentModel..::.DependencyObject
System.Workflow.ComponentModel..::.Activity
System.Workflow.ComponentModel..::.CompositeActivity
System.Workflow.Activities..::.ConditionedActivityGroup
System.Workflow.Activities..::.EventHandlersActivity
System.Workflow.Activities..::.EventHandlingScopeActivity
System.Workflow.Activities..::.IfElseActivity
System.Workflow.Activities..::.ListenActivity
System.Workflow.Activities..::.ParallelActivity
System.Workflow.Activities..::.ReplicatorActivity
System.Workflow.Activities..::.SequenceActivity
System.Workflow.Activities..::.StateActivity
System.Workflow.Activities..::.WhileActivity
System.Workflow.ComponentModel..::.CancellationHandlerActivity
System.Workflow.ComponentModel..::.CompensatableTransactionScopeActivity
System.Workflow.ComponentModel..::.CompensationHandlerActivity
System.Workflow.ComponentModel..::.FaultHandlerActivity
System.Workflow.ComponentModel..::.FaultHandlersActivity
System.Workflow.ComponentModel..::.SynchronizationScopeActivity
System.Workflow.ComponentModel..::.TransactionScopeActivity
平台
Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008, Windows Server 2003
.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。