Great!
There, a version with multidimensional array support until 4 subscripts level :
ClassMethod GetPrivateProp( oref, propName, ByRef result As %Binary) As %String { Do ##class(%Studio.General).DumpObjectExecute(.arr,.oref) Set key = $o(arr(propName),1,value), @propName = arr(propName) For { Quit:(key="")||($Qs(key,0)'=propName) Set subscriptLevel = $Ql(key) If subscriptLevel=1 { Set @propName@($Qs(key,1))=value }ElseIf subscriptLevel=2 { Set @propName@($Qs(key,1),$Qs(key,2))=value }ElseIf subscriptLevel=3 { Set @propName@($Qs(key,1),$Qs(key,2),$Qs(key,3))=value }ElseIf subscriptLevel=4 { Set @propName@($Qs(key,1),$Qs(key,2),$Qs(key,3),$Qs(key,4))=value } Set key = $o(arr(key),1,value) } Merge result=@propName Kill @propName Quit:$Quit arr(propName) Quit }
- Log in to post comments