If 類別

定義

建模一個 If-Then-Else 條件。

public ref class If sealed : System::Activities::NativeActivity
public sealed class If : System.Activities.NativeActivity
type If = class
    inherit NativeActivity
Public NotInheritable Class If
Inherits NativeActivity
繼承

範例

以下程式碼範例示範建立一項 If 活動。

new If
{
    // check if the order is asking for Widgets
    Condition = new InArgument<bool>( (e) => po.Get(e).PartName.Equals("Widget") ),
    Then = new If
    {
        // check if we have enough widgets in stock
        Condition = new InArgument<bool>( (e) => po.Get(e).Quantity < 100 ),
        Then = new SendReply
        {
            DisplayName = "Successful response",
            Request = submitPO,
            Content = SendContent.Create(new InArgument<string>( (e) => string.Format("Success: {0} Widgets have been ordered!", po.Get(e).Quantity)) )
        },
        // if we don't have enough widgets, throw an unhandled exception from this operation's body
        Else = new Throw
        {
            Exception = new InArgument<Exception>((e) => new Exception("We don't have that many Widgets."))
        }
    },
    // if its not for widgets, reply to the client that we don't carry that part by sending back an expected fault type (POFault)
    Else = new SendReply
    {
        DisplayName = "Expected fault",
        Request = submitPO,
        Content = SendContent.Create(new InArgument<FaultException<POFault>>( (e) => new FaultException<POFault>(
            new POFault
            {
                Problem = string.Format("This company does not carry {0}s, but we do carry Widgets.", po.Get(e).PartName),
                Solution = "Try your local hardware store."
            },
            new FaultReason("This is an expected fault.")
            )))
    }
}

建構函式

名稱 Description
If()

建立一個新的類別實例 If

If(Activity<Boolean>)

使用指定條件建立該類別的新實例 If

If(Expression<Func<ActivityContext,Boolean>>)

使用指定條件建立該類別的新實例 If

If(InArgument<Boolean>)

使用指定條件建立該類別的新實例 If

屬性

名稱 Description
CacheId

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

(繼承來源 Activity)
CanInduceIdle

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

(繼承來源 NativeActivity)
Condition

決定執行哪個子活動的條件。 Then若條件解決為 true,該活動即執行。 Else若條件解決為 false,該活動即執行。

Constraints

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

(繼承來源 Activity)
DisplayName

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

(繼承來源 Activity)
Else

若該活動 Condition 的解析為 false,則該活動將執行。

Id

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

(繼承來源 Activity)
Implementation

活動的執行邏輯。

(繼承來源 NativeActivity)
ImplementationVersion

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

(繼承來源 NativeActivity)
Then

若該活動 Condition 的解析為 true,則該活動將執行。

方法

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

適用於