Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Flex: given Class object, get the name of the class it represents

In Flex, say I have a Class object. How do I get a string for the class it represents?

e.g.:

var clazz:Class= String;
trace(clazz);  // this gives "[class String]" but what I want is "String"
like image 738
paleozogt Avatar asked Jun 26 '09 17:06

paleozogt


3 Answers

flash.utils::getQualifiedClassName is the function you are looking for ... ;)

greetz

back2dos

like image 105
back2dos Avatar answered Nov 13 '22 17:11

back2dos


If you want to know all there is about a class, use describeType. Related, you might find useful getDefinition and getDefinitionByName.

describeType return all the details in an XML object. If you're looking just for the name, try something like:

trace(describeType(String).@name);

This is general actionscript. It has no dependency on the flex framework. Goodluck.

like image 39
George Profenza Avatar answered Nov 13 '22 17:11

George Profenza


here is a simple as2 code I've done that allows you to get the base class and the current class as a string :

If current class is empty, this is a base class

public function ObjectContructor(){
  var _construct:String;
  var _instance:String;
  for(var s:String in _global){
    if(this.constructor == _global[s])_construct = s;
    if(this instanceof _global[s] && this.constructor != _global[s])_instance = s;
  }
  trace("base class : " +_construct);
  trace("Current class : " + _instance);
}
like image 44
Simmoniz Avatar answered Nov 13 '22 15:11

Simmoniz