IfElseActivity Class (System.Workflow.Activities)

Switch View :
ScriptFree
.NET Framework Class Library
IfElseActivity Class

Conditionally runs one of two or more activities of type IfElseBranchActivity. This class cannot be inherited.

Inheritance Hierarchy

System.Object
  System.Workflow.ComponentModel.DependencyObject
    System.Workflow.ComponentModel.Activity
      System.Workflow.ComponentModel.CompositeActivity
        System.Workflow.Activities.IfElseActivity

Namespace:  System.Workflow.Activities
Assembly:  System.Workflow.Activities (in System.Workflow.Activities.dll)
Syntax

Visual Basic
<ToolboxBitmapAttribute(GetType(IfElseActivity), "Resources.Decision.png")> _
Public NotInheritable Class IfElseActivity _
	Inherits CompositeActivity _
	Implements IActivityEventListener(Of ActivityExecutionStatusChangedEventArgs)
C#
[ToolboxBitmapAttribute(typeof(IfElseActivity), "Resources.Decision.png")]
public sealed class IfElseActivity : CompositeActivity, 
	IActivityEventListener<ActivityExecutionStatusChangedEventArgs>
Visual C++
[ToolboxBitmapAttribute(typeof(IfElseActivity), L"Resources.Decision.png")]
public ref class IfElseActivity sealed : public CompositeActivity, 
	IActivityEventListener<ActivityExecutionStatusChangedEventArgs^>
F#
[<Sealed>]
[<ToolboxBitmapAttribute(typeof(IfElseActivity), "Resources.Decision.png")>]
type IfElseActivity =  
    class
        inherit CompositeActivity
        interface IActivityEventListener<ActivityExecutionStatusChangedEventArgs>
    end

The IfElseActivity type exposes the following members.

Constructors

  Name Description
Public method IfElseActivity() Initializes a new instance of the IfElseActivity class.
Public method IfElseActivity(String) Initializes a new instance of the IfElseActivity class using the name of the activity.
Top
Properties

  Name Description
Public property Activities Gets the object representing the collection, ActivityCollection, of all child activities. (Inherited from CompositeActivity.)
Protected property CanModifyActivities Gets or sets a value which controls whether the individual activities within Activities can be modified. (Inherited from CompositeActivity.)
Public property Description Gets or sets the user-defined description of the Activity. (Inherited from Activity.)
Protected property DesignMode Gets the value that indicates whether this instance is in design or run-time mode. (Inherited from DependencyObject.)
Public property Enabled Gets or sets a value that indicates whether this instance is enabled for execution and validation. (Inherited from Activity.)
Public property EnabledActivities Gets the read-only collection that represents the subset of Activities that are enabled. (Inherited from CompositeActivity.)
Public property ExecutionResult Gets the ActivityExecutionResult of the last attempt to run this instance. (Inherited from Activity.)
Public property ExecutionStatus Gets the current ActivityExecutionStatus of this instance. (Inherited from Activity.)
Public property IsDynamicActivity Gets information about whether the activity is executing within the default ActivityExecutionContext of the workflow instance. (Inherited from Activity.)
Public property Name Gets or sets the name of this instance. This name must conform to the variable naming convention of the programming language that is being used in the Workflow project. (Inherited from Activity.)
Public property Parent Gets the CompositeActivity that contains this Activity. (Inherited from Activity.)
Protected property ParentDependencyObject Gets the parent DependencyObject in the DependencyObject graph. (Inherited from DependencyObject.)
Public property QualifiedName Gets the qualified name of the activity. Qualified activity names are always unique in a workflow instance. (Inherited from Activity.)
Public property Site Gets or sets a reference to the Site component of the DependencyObject. (Inherited from DependencyObject.)
Public property UserData Gets an IDictionary that associates custom data with this class instance. (Inherited from DependencyObject.)
Protected property WorkflowInstanceId Gets the Guid associated with the instance. (Inherited from Activity.)
Top
Methods

  Name Description
Public method AddBranch(ICollection<Activity>) Adds a new branch to the IfElseActivity using a collection of new activities to add to the new branch.
Public method AddBranch(ICollection<Activity>, ActivityCondition) Adds a new branch to the IfElseActivity using a collection of new activities to add to the new branch.
Public method AddHandler Adds a handler for an event of a DependencyObject. (Inherited from DependencyObject.)
Protected method ApplyWorkflowChanges Applies the WorkflowChanges manifest in the parameter to this instance. (Inherited from CompositeActivity.)
Protected method Cancel Called by the workflow runtime to cancel execution of an activity that is currently executing. (Inherited from Activity.)
Public method Clone Creates a deep copy of the Activity. (Inherited from Activity.)
Public method Dispose() Releases all the resources used by the DependencyObject. (Inherited from DependencyObject.)
Protected method Dispose(Boolean) Calls Dispose on this instance, and optionally calls Dispose on all child activities of this instance. (Inherited from CompositeActivity.)
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Execute Called by the workflow runtime to execute an activity. (Inherited from Activity.)
Protected method Finalize Provided as an override to Object.Finalize to clean up any unmanaged resources deterministically. (Inherited from DependencyObject.)
Public method GetActivityByName(String) Returns the instance of the Activity whose name is requested from the set of all activities running under the root activity of this instance, which is within the workflow. (Inherited from Activity.)
Public method GetActivityByName(String, Boolean) Returns the instance of the Activity whose name is requested from the set of all activities under the root the Activity of this instance if the second parameter is false and under the current Activity if the second parameter is true. (Inherited from Activity.)
Public method GetBinding Provides access to the ActivityBind associated with the specific DependencyProperty. (Inherited from DependencyObject.)
Protected method GetBoundValue Retrieves the Object that is the subject of an ActivityBind. (Inherited from DependencyObject.)
Protected method GetDynamicActivities Returns an array that contains all of the currently executing instances of the specified activity. (Inherited from CompositeActivity.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Protected method GetInvocationList<T> Gets an array that contains the delegates for the specified DependencyProperty. (Inherited from DependencyObject.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Public method GetValue Provides access to the value of the designated DependencyProperty. (Inherited from DependencyObject.)
Public method GetValueBase Provides access to the bound object of a DependencyProperty and bypasses the GetValue override. (Inherited from DependencyObject.)
Protected method HandleFault Called when an exception is raised within the context of the execution of this instance. (Inherited from CompositeActivity.)
Protected method Initialize Initializes all appropriate child activities of this instance and the specified IServiceProvider. (Inherited from CompositeActivity.)
Protected method InitializeProperties Performs initialization on dependency properties when overridden in a derived class. (Inherited from DependencyObject.)
Protected method Invoke<T>(EventHandler<T>, T) Subscribes an EventHandler and invokes that delegate. (Inherited from Activity.)
Protected method Invoke<T>(IActivityEventListener<T>, T) Subscribes an IActivityEventListener<T> and invokes that delegate. (Inherited from Activity.)
Public method IsBindingSet Indicates whether the value of a DependencyProperty is set as a binding. See SetBinding. (Inherited from DependencyObject.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method MetaEquals Determines whether the metaproperties of this DependencyObject equals the metaproperties of the parameterized DependencyObject. (Inherited from DependencyObject.)
Protected method OnActivityChangeAdd Calls when an activity is added. (Inherited from CompositeActivity.)
Protected method OnActivityChangeRemove Called when an activity is removed. (Inherited from CompositeActivity.)
Protected method OnActivityExecutionContextLoad Called by the workflow runtime engine every time the ActivityExecutionContext for this activity is loaded. (Inherited from CompositeActivity.)
Protected method OnActivityExecutionContextUnload Called by the workflow runtime engine every time the ActivityExecutionContext for this activity is unloaded. (Inherited from CompositeActivity.)
Protected method OnClosed Called by the workflow runtime as part of the activity's transition to the closed state. (Inherited from Activity.)
Protected method OnListChanged Performs additional processing when the Activities property changes. (Inherited from CompositeActivity.)
Protected method OnListChanging Event that occurs before a change being made to the underlying Activities. (Inherited from CompositeActivity.)
Protected method OnWorkflowChangesCompleted Called after changes have been made to the collection Activities of this instance. (Inherited from CompositeActivity.)
Protected method RaiseEvent Raises an Event associated with the specified dependency property. (Inherited from Activity.)
Protected method RaiseGenericEvent<T> Raises the event associated with the referenced DependencyProperty. (Inherited from Activity.)
Public method RegisterForStatusChange Registers the specified DependencyProperty for the status change event. (Inherited from Activity.)
Public method RemoveHandler Removes an EventHandler from an associated DependencyProperty. (Inherited from DependencyObject.)
Public method RemoveProperty Removes a DependencyProperty from the DependencyObject. (Inherited from DependencyObject.)
Public method Save(Stream) Writes the Activity to a Stream for persistence. (Inherited from Activity.)
Public method Save(Stream, IFormatter) Writes the Activity to a Stream for persistence using the custom IFormatter provided for serialization. (Inherited from Activity.)
Public method SetBinding Sets the ActivityBind for the specified DependencyProperty. (Inherited from DependencyObject.)
Protected method SetBoundValue Sets the value of the target ActivityBind. (Inherited from DependencyObject.)
Protected method SetReadOnlyPropertyValue Sets the value of a DependencyProperty, which is read-only. (Inherited from DependencyObject.)
Public method SetValue Sets the value of the DependencyProperty to the object. (Inherited from DependencyObject.)
Public method SetValueBase Sets the value of the DependencyProperty to the specified Object, bypassing the SetValue. (Inherited from DependencyObject.)
Public method ToString Provides a string that represents this instance. (Inherited from Activity.)
Protected method TrackData(Object) Informs the run-time tracking infrastructure of pending tracking information. (Inherited from Activity.)
Protected method TrackData(String, Object) Informs the run-time tracking infrastructure of pending tracking information. (Inherited from Activity.)
Protected method Uninitialize Called by the workflow runtime engine when an activity transitions into the Closed state from the Initialized state. (Inherited from CompositeActivity.)
Public method UnregisterForStatusChange Un-registers the specified DependencyProperty for the status change event. (Inherited from Activity.)
Top
Events

  Name Description
Public event Canceling Occurs when the activity execution is canceled. (Inherited from Activity.)
Public event Closed Occurs when an Activity has completed execution. (Inherited from Activity.)
Public event Compensating Occurs when running a compensation method on the Activity. (Inherited from Activity.)
Public event Executing Occurs when the Activity is run. (Inherited from Activity.)
Public event Faulting Occurs when an exception is raised during the running of the instance. (Inherited from Activity.)
Public event StatusChanged Occurs when the ActivityExecutionStatus of a running Activity changes. (Inherited from Activity.)
Top
Explicit Interface Implementations

  Name Description
Explicit interface implemetation Private method IActivityEventListener<ActivityExecutionStatusChangedEventArgs>.OnEvent Defines the processing procedure when a change the activity execution status occurs.
Explicit interface implemetation Private event IComponent.Disposed Represents the method that handles the Disposed event of a component. (Inherited from DependencyObject.)
Top
Remarks

This activity provides semantics similar to two If-ElseIf statements.

IfElseActivity contains an ordered set of IfElseBranchActivity classes and runs the first branch when the condition evaluates to true. The final branch is not required to have a condition, in which case it always evaluates to true.

A IfElseActivity can complete without having run any child activity, if no conditions are satisfied.

Examples

The following code example shows how to create a new instance of the IfElseActivity class and add two IfElseBranchActivity classes to it. This code example is part of the SequentialWorkflowWithParameters SDK Sample from the SequentialWorkflow.cs file. For more information, seeSequential Workflow With Parameters.

Visual Basic

Me.CanModifyActivities = True
Dim codecondition1 As System.Workflow.Activities.CodeCondition = New System.Workflow.Activities.CodeCondition
Me.ifElseActivity = New System.Workflow.Activities.IfElseActivity
Me.approveIfElseBranch = New System.Workflow.Activities.IfElseBranchActivity
Me.rejecteIfElseBranch = New System.Workflow.Activities.IfElseBranchActivity
Me.approve = New System.Workflow.Activities.CodeActivity
Me.reject = New System.Workflow.Activities.CodeActivity
' 
' ifElseActivity
' 
Me.ifElseActivity.Activities.Add(Me.approveIfElseBranch)
Me.ifElseActivity.Activities.Add(Me.rejecteIfElseBranch)
Me.ifElseActivity.Name = "ifElseActivity"


C#

this.CanModifyActivities = true;
System.Workflow.Activities.CodeCondition codecondition1 = new System.Workflow.Activities.CodeCondition();
this.ifElseActivity = new System.Workflow.Activities.IfElseActivity();
this.approveIfElseBranch = new System.Workflow.Activities.IfElseBranchActivity();
this.rejecteIfElseBranch = new System.Workflow.Activities.IfElseBranchActivity();
this.approve = new System.Workflow.Activities.CodeActivity();
this.reject = new System.Workflow.Activities.CodeActivity();
// 
// ifElseActivity
// 
this.ifElseActivity.Activities.Add(this.approveIfElseBranch);
this.ifElseActivity.Activities.Add(this.rejecteIfElseBranch);
this.ifElseActivity.Name = "ifElseActivity";


Version Information

.NET Framework

Supported in: 4, 3.5, 3.0
Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
See Also

Reference

Other Resources