Condition Property
Collapse the table of content
Expand the table of content

If.Condition Property

The condition that determines which child activity to execute. The Then activity executes if the condition resolves to true. The Else activity executes if the condition resolves to false.

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

public InArgument<bool> Condition { get; set; }

Property Value

Type: System.Activities.InArgument<Boolean>
The execution condition.

The following code sample demonstrates setting the Condition property of an If activity. This example is from the Sending and Handling Faults sample.

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.")

.NET Framework

Supported in: 4

.NET Framework Client Profile

Supported in: 4

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Community Additions

© 2016 Microsoft