This is as designed, sop that the nature of it being passed by reference is obvious at the call site. Was a conscious decision we made back in version 1.0 to deviate from Delphi there, and take C#'s suggestion.
It can’t work with a property, because a property can’t be passed by reference — access to it has to go thru the getter/setter, and it might not be a stored property, at all. You’ll need it as the three separate steps.
The var in the Caller should be added from Fire or water automatically
(It is a Setting somewhere , not on a pc to Check now) and a property is not a reference, so in my eyes it is correct
it’s highly misleading though. How is there actual property access handled? what if the called method updates the value several times, and the property has side effects?
I’m with you, when we’re talking actually best. Oxygene is very much an amalgamation of the best features and ideas from many languages (and some of our own). And I have no problems (and we probably already have) absorbing good features from VB, as well. But not every language feature that might seem convenient is necessarily good. This, IMHO, would be a bad “feature” – I’d almost call it a bug – to copy ;).