10

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"
paleozogt
  • 6,393
  • 11
  • 51
  • 94

4 Answers4

14

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

greetz

back2dos

back2dos
  • 15,588
  • 34
  • 50
4

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.

George Profenza
  • 50,687
  • 19
  • 144
  • 218
1

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);
}
Simmoniz
  • 11
  • 1
-2

Does this work?

trace(clazz.toString());
Jason Miesionczek
  • 14,268
  • 17
  • 76
  • 108