Skip to content
Discussion options

You must be logged in to vote
Answered by Code Effects Software Admin Jul 19, 2026

Hello,

The engine follows the standard .NET evaluation behavior for if / else if / else blocks and returns true only when the initial if condition evaluates to true.

Any else if clauses are treated as nested subclauses. Therefore, the runtime returns false for the overall evaluation even when setters or rule actions within an else if or else clause are invoked. In other words, the initial if condition determines the rule’s return value; execution of any subsequent clause does not change it.

The engine passes the compiled rule to the runtime, which effectively interprets it as follows:

if (condition1)
{
    action1();
    return true;
}
else
{
    if (condition2)
    {
        action2();
    

Replies: 1 comment

Comment options

Code Effects Software Admin
Jul 19, 2026

You must be logged in to vote
0 replies
Answer selected by Code Effects Software Admin
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
1 participant