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 每個格值由一個值(作為字典的鍵值)和一個活動(作為字典的值)組成。 該會 Expression 被評估並與字典中的 Cases 鍵數進行比較。 若找到匹配,則執行相應活動。 字典中的 Cases 每個鍵必須根據字典的等號比較器唯一。

建構函式

名稱 Description
Switch<T>()

建立一個新的類別實例 Switch<T>

Switch<T>(Activity<T>)

建立一個新的類別實例 Switch<T> ,使用指定的表達式。

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

建立一個新的類別實例 Switch<T> ,使用指定的表達式。

Switch<T>(InArgument<T>)

建立一個新的類別實例 Switch<T> ,使用指定的表達式。

屬性

名稱 Description
CacheId

取得在工作流程定義範圍內唯一且快取識別碼的識別碼。

(繼承來源 Activity)
CanInduceIdle

取得或設定一個值,指示該活動是否會導致工作流程進入閒置狀態。

(繼承來源 NativeActivity)
Cases

代表潛在執行路徑的字典。 每個項目包含一個鍵值和一個活動,當表達式的結果與鍵值相符時會執行。

Constraints

取得一組 Constraint 可設定以驗證 的 Activity活動集合。

(繼承來源 Activity)
Default

表示若集合中 Cases 沒有任何條目鍵與該屬性相符 Expression ,該活動所執行的。

DisplayName

取得或設定一個可選的友善名稱,用於除錯、驗證、異常處理及追蹤。

(繼承來源 Activity)
Expression

取得物件與集合中的 Cases 鍵比較。

Id

取得一個在工作流程定義範圍內唯一的識別碼。

(繼承來源 Activity)
Implementation

活動的執行邏輯。

(繼承來源 NativeActivity)
ImplementationVersion

取得或設定活動的實作版本。

(繼承來源 NativeActivity)

方法

名稱 Description
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()

回傳 String 包含 Id 的 和 DisplayNameActivity的 a。

(繼承來源 Activity)
UpdateInstance(NativeActivityUpdateContext)

更新 的 NativeActivity實例。

(繼承來源 NativeActivity)

適用於