在Flex中,假设我有一个Class对象。如何获取它所代表的类的字符串?
e.g:
var clazz:Class= String;
trace(clazz); // this gives "[class String]" but what I want is "String"
答案 0 :(得分:14)
flash.utils::getQualifiedClassName
是您正在寻找的功能......;)
格尔茨
back2dos
答案 1 :(得分:4)
如果您想知道所有关于课程的内容,请使用describeType。相关的,您可能会发现有用的getDefinition和getDefinitionByName。
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());