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

If.Condition Property

.NET Framework (current version)
 

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)

[RequiredArgumentAttribute]
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
Available since 4.0
Return to top
Show:
© 2016 Microsoft