OCLOperators RootObject
No edit summary |
No edit summary |
||
Line 4: | Line 4: | ||
? Why is the selfVM.RootObject not typed and require a cast to be used with the real root? Because OCL is a statically typed language and selfVM is context sensitive in the meaning it is available in all viewmodels - and there is no 1 answer to what type the RootObject should have. If you are in the context of a viewmodel you will however know what type it has and can safely cast. | ? Why is the selfVM.RootObject not typed and require a cast to be used with the real root? Because OCL is a statically typed language and selfVM is context sensitive in the meaning it is available in all viewmodels - and there is no 1 answer to what type the RootObject should have. If you are in the context of a viewmodel you will however know what type it has and can safely cast. | ||
[[Category:OCLOperators]] |
Revision as of 12:23, 7 December 2022
This page was created by Hans.karlsen on 2019-05-29. Last edited by Edgar on 2025-01-20.
selfVM.RootObject gives access to the object rooting a viewmodel instance. This is readonly and you can use it like this:
selfVM.RootObject->safeCast(Thing).SomeString:='a new value'
? Why is the selfVM.RootObject not typed and require a cast to be used with the real root? Because OCL is a statically typed language and selfVM is context sensitive in the meaning it is available in all viewmodels - and there is no 1 answer to what type the RootObject should have. If you are in the context of a viewmodel you will however know what type it has and can safely cast.