Partager via


What's valid and what's not in the Orchestration expression shape?

“if” and “while” statements are handled by the decision shape – you cannot put an “if” or “while” into an expression shape.

Ternary ops are not supported (viz., ?:).

Comments work fine, but you need at least one statement in the expression box.

Simple types (integer, string, floating point) cannot have the dot operator applied to them, (viz., no member access)

For non-simple types, you can only access public member functions and properties and static literal fields.

Compound assignment (+=, -=, *=, etc) is not supported.

Nor is more than one assignment operator in a statement.

Assignment within an “if” or “while” predicate is not supported.

Increment, decrement are not supported (++, --).

For message parts, the only member access allowed is on distinguished fields.

Indexers or parameterized properties are not supported.

Delegates and events are not supported.

foreach, for, do/while, break and continue are not supported.

All valid expression statements are of the form:

Dotted-name = expression ;

Obj.funcall(…) ;

Where:

Dotted-name :

             Identifier,

             Identifier . Dotted-name

Thanks to Paul R for this info.

Comments

  • Anonymous
    August 18, 2004
    The comment has been removed
  • Anonymous
    August 19, 2004
    Somehow it didn't give me an error when I use this in an expression shape. What I'm missing??

    if(iRecordCount == 0) {throw new System.Exception("My error Description");}
  • Anonymous
    August 20, 2004
    Cheers for that Scott...

    This link from Charles Young is also worth a read:

    Comparing XLANG/s and C#
    http://geekswithblogs.net/cyoung/articles/3820.aspx

    I've seen loads of things you can't do with XLANG/s, love to see some posts on what you can do with it ;-)



  • Anonymous
    August 22, 2004
    Ok, I found out.
    "if" statement do work in Expression shape but not in "Message Assignment". Please refer my earlier comment.
    -Balaji