Take the class name: Pass it into an object and return the full name of the class
var loader:URLLoader = new URLLoader( );
var className:String = getQualifiedClassName(loader);
trace(className); // Displays
Take the class name of the parent class: pass in an object and return the class name of the parent class
var loader:URLLoader = new URLLoader( );
var className:String = getQualifiedSuperclassName(loader);
trace(className); // Displays
Classes are selected according to class name
var classReference:Class = Class(getDefinitionByName(""));
// Once you get a reference to the class, you can do this
var instance:Object = new classReference( );
Examples of using getQualifiedClassName( ) or getQualifiedSuperclassName( ) and getDefinitionByName():
var loader:URLLoader = new URLLoader( );
var className:String = getQualifiedClassName(loader);
var classReference:Class = Class(getDefinitionByName(className));
var instance:Object = new classReference( );
Introduction: describeType( ) returns the object's type description
For example:
var loader:URLLoader = new URLLoader( );
var description:XML = describeType(loader);
trace(description);
Output:
<type name="::URLLoader" base="::EventDispatcher"
isDynamic="false" isFinal="false" isStatic="false">
<metadata name="Event">
<arg key="name" value="httpStatus"/>
<arg key="type" value=""/>
</metadata>
<metadata name="Event">
<arg key="name" value="securityError"/>
<arg key="type" value=""/>
</metadata>
<metadata name="Event">
<arg key="name" value="ioError"/>
<arg key="type" value=""/>
</metadata>
<metadata name="Event">
<arg key="name" value="progress"/>
<arg key="type" value=""/>
</metadata>
<metadata name="Event">
<arg key="name" value="complete"/>
<arg key="type" value=""/>
</metadata>
<metadata name="Event">
<arg key="name" value="open"/>
<arg key="type" value=""/>
</metadata>
<extendsClass type="::EventDispatcher"/>
<extendsClass type="Object"/>
<implementsInterface type="::IEventDispatcher"/>
<constructor>
<parameter index="1" type="::URLRequest" optional="true"/>
</constructor>
<variable name="bytesTotal" type="uint"/>
<variable name="data" type="*"/>
<method name="load" declaredBy="::URLLoader" returnType="void">
<parameter index="1" type="::URLRequest" optional="false"/>
</method>
<method name="close" declaredBy="::URLLoader" returnType="void"/>
<variable name="dataFormat" type="String"/>
<variable name="bytesLoaded" type="uint"/>
<method name="dispatchEvent" declaredBy="::EventDispatcher"
returnType="Boolean">
<parameter index="1" type="::Event" optional="false"/>
</method>
<method name="toString" declaredBy="::EventDispatcher"
returnType="String"/>