Switch<T> Class
Selects one choice from a number of activities to execute, based on the value of a given expression of the type specified in this object’s type specifier.
Assembly: System.Activities (in System.Activities.dll)
System.Activities::Activity
System.Activities::NativeActivity
System.Activities.Statements::Switch<T>
| Name | Description | |
|---|---|---|
![]() | Switch<T>() | Creates a new instance of the Switch<T> class. |
![]() | Switch<T>(Activity<T>^) | Creates a new instance of the Switch<T> class with the specified expression. |
![]() | Switch<T>(Expression<Func<ActivityContext^, T>^>^) | Creates a new instance of the Switch<T> class with the specified expression. |
![]() | Switch<T>(InArgument<T>^) | Creates a new instance of the Switch<T> class with the specified expression. |
| Name | Description | |
|---|---|---|
![]() | CacheId | Gets the identifier of the cache that is unique within the scope of the workflow definition.(Inherited from Activity.) |
![]() | Cases | Represents the dictionary of potential execution paths. Each entry contains a key and an activity that is executed when the result of the expression matches the key. |
![]() | Default | Represents the activity that is executed if no keys of entries in the P:System.Activities.Statements.Switch.Cases collection match the P:System.Activities.Statements.Switch.Expression property. |
![]() | DisplayName | Gets or sets an optional friendly name that is used for debugging, validation, exception handling, and tracking.(Inherited from Activity.) |
![]() | Expression | Gets the object to compare to the keys in the P:System.Activities.Statements.Switch.Cases collection. |
![]() | Id | Gets an identifier that is unique in the scope of the workflow definition.(Inherited from Activity.) |
![]() | ImplementationVersion | Gets or sets the implementation version of the activity.(Inherited from NativeActivity.) |
| Name | Description | |
|---|---|---|
![]() | Equals(Object^) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType() | |
![]() | ShouldSerializeDisplayName() | Indicates whether the DisplayName property should be serialized.(Inherited from Activity.) |
![]() | ToString() | Returns a String that contains the Id and DisplayName of the Activity.(Inherited from Activity.) |
Each case in the Cases dictionary consists of a value (serving as the key for the dictionary) and an activity (serving as the value for the dictionary). The P:System.Activities.Statements.Switch.Expression is evaluated and compared against the keys in the Cases dictionary. If a match is found, the corresponding activity is executed. Every key in the Cases dictionary must be unique according to the dictionary’s equality comparer.
The following code sample demonstrates creating a Switch<T> activity. This example is from the Using Procedural Activities sample.
// check if the number is ok... new Switch<int>() { DisplayName = "Verify Value from User", Expression = ExpressionServices.Convert<int>( env => numberFromUser.Get(env).CompareTo(numberToGuess.Get(env)) ), Cases = { { 0, new Assign<bool>() { To = new OutArgument<bool>(finished), Value = true } }, { 1, new WriteLine() { Text = " Try a lower number number..." } }, { -1, new WriteLine() { Text = " Try a higher number" } } } }
Available since 4.0
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.


