MyMessage.PartA = something;
MyMessage(SomeContextProeprty) = someValue;
MyMessage.PartB = somethingElse;
Error!
MyMessage.PartA = something;
MyMessage.PartB = somethingElse;
MyMessage(SomeContextProeprty) = someValue;
OK!
Original: yossidahan blog "Order of operations in an assign shape"