Flex: данный объект Class, получить имя класса, который он представляет - PullRequest
10 голосов
/ 26 июня 2009

В Flex, скажем, у меня есть объект Class. Как получить строку для класса, который он представляет?

например:.

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

Ответы [ 4 ]

14 голосов
/ 26 июня 2009

flash.utils::getQualifiedClassName - это функция, которую вы ищете ...;)

Greetz

back2dos

4 голосов
/ 26 июня 2009

Если вы хотите узнать все о классе, используйте descriptionType . В связи с этим, вы можете найти полезные getDefinition и getDefinitionByName .

descriptionType возвращает все детали в объекте XML. Если вы ищете только имя, попробуйте что-то вроде:

trace(describeType(String).@name);

Это общий скрипт действий. Он не зависит от флекс фреймворка. Гудлак.

1 голос
/ 11 ноября 2010

Вот простой код 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);
}
0 голосов
/ 26 июня 2009

Это работает?

trace(clazz.toString());
...