I have a dynamic class that I have created
public dynamic class SiteZoneFileUploadVO
{
public var destination:String = "sitezone";
public var siteZoneId:uint;
public var fileType:String;
public var fileContents:String;
public function SiteZoneFileUploadVO()
{
}
}
when I try to iterate over this object’s property names it only iterates the dynamically added properties.
parameters.dynVar= "value";
for(var name:String in parameters)
{
trace(name);
}
Even though the object has all the properties equal to a value (ive checked this in the debugger) the only property name that will be traced is dynVar.
How can I iterate over all the property names and not just the dynamically added ones?
You can use
describeType()to get an XML with all methods and variables of your class and then filter out the properties you want to iterate over (e.g. all variables) and store them in anXMLList.As the next step you would then iterate over the
XMLListand use square bracket notation on your object to access the filtered properties by their names. However, you can only access public properties this way becausedescribeType()won’t look at private properties.