Switch(Of T) Class

.NET Framework (current version)
 

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.

Namespace:   System.Activities.Statements
Assembly:  System.Activities (in System.Activities.dll)

System.Object
  System.Activities.Activity
    System.Activities.NativeActivity
      System.Activities.Statements.Switch(Of T)

<ContentPropertyAttribute("Cases")>
Public NotInheritable Class Switch(Of T)
	Inherits NativeActivity

Type Parameters

T

The type of the values provided in the Cases collection.

NameDescription
System_CAPS_pubmethodSwitch(Of T)()

Creates a new instance of the Switch(Of T) class.

System_CAPS_pubmethodSwitch(Of T)(Activity(Of T))

Creates a new instance of the Switch(Of T) class with the specified expression.

System_CAPS_pubmethodSwitch(Of T)(Expression(Of Func(Of ActivityContext, T)))

Creates a new instance of the Switch(Of T) class with the specified expression.

System_CAPS_pubmethodSwitch(Of T)(InArgument(Of T))

Creates a new instance of the Switch(Of T) class with the specified expression.

NameDescription
System_CAPS_protpropertyCacheId

Gets the identifier of the cache that is unique within the scope of the workflow definition.(Inherited from Activity.)

System_CAPS_pubpropertyCases

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.

System_CAPS_pubpropertyDefault

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.

System_CAPS_pubpropertyDisplayName

Gets or sets an optional friendly name that is used for debugging, validation, exception handling, and tracking.(Inherited from Activity.)

System_CAPS_pubpropertyExpression

Gets the object to compare to the keys in the P:System.Activities.Statements.Switch.Cases collection.

System_CAPS_pubpropertyId

Gets an identifier that is unique in the scope of the workflow definition.(Inherited from Activity.)

System_CAPS_protpropertyImplementationVersion

Gets or sets the implementation version of the activity.(Inherited from NativeActivity.)

NameDescription
System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodShouldSerializeDisplayName()

Indicates whether the DisplayName property should be serialized.(Inherited from Activity.)

System_CAPS_pubmethodToString()

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(Of 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" } }
    }
}

.NET Framework
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.

Return to top
Show: