Flex:给定Class对象,获取它所代表的类的名称

时间:2009-06-26 17:41:49

标签: flex flash actionscript-3 actionscript

在Flex中,假设我有一个Class对象。如何获取它所代表的类的字符串?

e.g:

var clazz:Class= String;
trace(clazz);  // this gives "[class String]" but what I want is "String"

4 个答案:

答案 0 :(得分:14)

flash.utils::getQualifiedClassName是您正在寻找的功能......;)

格尔茨

back2dos

答案 1 :(得分:4)

如果您想知道所有关于课程的内容,请使用describeType。相关的,您可能会发现有用的getDefinitiongetDefinitionByName

describeType返回XML对象中的所有细节。如果你只是寻找名字, 尝试类似的事情:

trace(describeType(String).@name);

这是一般动作脚本。它不依赖于flex框架。 古德勒克。

答案 2 :(得分:1)

这是一个简单的as2代码,我已经完成了允许你将基类和当前类作为字符串获取:

如果当前类为空,则为基类

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);
}

答案 3 :(得分:-2)

这有用吗?

trace(clazz.toString());