在Flex中,假设我有一个Class对象。我如何为它所表示的类获取一个字符串?Flex:给定Class对象,获取它所代表的类的名称
例如为:
var clazz:Class= String;
trace(clazz); // this gives "[class String]" but what I want is "String"
在Flex中,假设我有一个Class对象。我如何为它所表示的类获取一个字符串?Flex:给定Class对象,获取它所代表的类的名称
例如为:
var clazz:Class= String;
trace(clazz); // this gives "[class String]" but what I want is "String"
flash.utils::getQualifiedClassName
是你正在寻找的功能...;)
格尔茨
back2dos
如果你想知道所有关于一个类,请使用describeType。相关的,你可能会发现有用的getDefinition和getDefinitionByName。
describeType返回XML对象中的所有细节。如果你正在寻找只是为了名, 尝试类似:
trace(describeType(String)[email protected]);
这是一般的动作。它不依赖于flex框架。 Goodluck。
这工作,但请注意,它比getQualifiedClassName() – 2011-02-28 02:57:05
这里是一个简单的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);
}
getQualifiedClassName(clazz)返回“String”显着慢。我预计它会返回“Class”! – paleozogt 2009-06-26 19:08:48