Switch<T> 类

定义

基于给定表达式(在此对象的类型说明符中指定了其类型)的值,从要执行的多个活动中选择一个活动。

generic <typename T>
public ref class Switch sealed : System::Activities::NativeActivity
[System.Windows.Markup.ContentProperty("Cases")]
public sealed class Switch<T> : System.Activities.NativeActivity
[<System.Windows.Markup.ContentProperty("Cases")>]
type Switch<'T> = class
    inherit NativeActivity
Public NotInheritable Class Switch(Of T)
Inherits NativeActivity

类型参数

T

Cases 集合中提供的值的类型。

继承
属性

示例

下面的代码示例演示如何创建 Switch<T> 活动。

// 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" } }
    }
}

注解

Cases 字典中的每个 case 都由一个值(充当字典的键)和一个活动(充当字典的值)组成。 将计算 Expression,并将其与 Cases 字典中的键进行比较。 如果找到匹配项,则会执行对应的活动。 字典中的每个 Cases 键都必须根据字典的相等比较器是唯一的。

构造函数

Switch<T>()

创建 Switch<T> 类的新实例。

Switch<T>(Activity<T>)

使用指定的表达式创建 Switch<T> 类的新实例。

Switch<T>(Expression<Func<ActivityContext,T>>)

使用指定的表达式创建 Switch<T> 类的新实例。

Switch<T>(InArgument<T>)

使用指定的表达式创建 Switch<T> 类的新实例。

属性

CacheId

获取缓存的标识符,该标识符在工作流定义的作用域内是唯一的。

(继承自 Activity)
CanInduceIdle

获取或设置一个值,该值指示活动是否会使工作流进入空闲状态。

(继承自 NativeActivity)
Cases

表示可能执行路径的字典。 每个条目都包含一个键以及一个将在表达式结果与该键匹配时执行的活动。

Constraints

获取可配置的 Constraint 活动的集合,用于为 Activity 提供验证。

(继承自 Activity)
Default

表示在 Cases 集合中没有条目键与 Expression 属性匹配的情况下执行的活动。

DisplayName

获取或设置用于调试、验证、异常处理和跟踪的可选友好名称。

(继承自 Activity)
Expression

获取要与 Cases 集合中的键进行比较的对象。

Id

获取一个标识符,该标识符在工作流定义的作用域内是唯一的。

(继承自 Activity)
Implementation

活动的执行逻辑。

(继承自 NativeActivity)
ImplementationVersion

获取或设置活动的实现版本。

(继承自 NativeActivity)

方法

Abort(NativeActivityAbortContext)

在派生类中实现时,采取措施响应要放弃的活动。

(继承自 NativeActivity)
CacheMetadata(ActivityMetadata)

未实现。 请改用 CacheMetadata(NativeActivityMetadata) 方法。

(继承自 NativeActivity)
CacheMetadata(NativeActivityMetadata)

创建并验证活动的自变量、变量、子活动和活动委托的说明。

(继承自 NativeActivity)
Cancel(NativeActivityContext)

在派生类中实现时,运行逻辑以正常方式提前实现活动。

(继承自 NativeActivity)
Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
Execute(NativeActivityContext)

在派生类中实现时,运行活动的执行逻辑。

(继承自 NativeActivity)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity)

为动态更新创建映射时,将引发事件。

(继承自 NativeActivity)
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

为动态更新创建映射时,将引发事件。

(继承自 NativeActivity)
ShouldSerializeDisplayName()

指示是否应序列化 DisplayName 属性。

(继承自 Activity)
ToString()

返回包含 StringIdDisplayNameActivity

(继承自 Activity)
UpdateInstance(NativeActivityUpdateContext)

更新 NativeActivity 的该实例。

(继承自 NativeActivity)

适用于