在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