2009-06-26 8 views

risposta

14

flash.utils::getQualifiedClassName è la funzione che si sta cercando ...;)

greetz

back2dos

+1

getQualifiedClassName (clazz) restituisce "String". Mi aspettavo che restituisse "Class"! – paleozogt

+0

flash.utils :: getDefinitionByName() prende una stringa e restituisce una classe. – zenazn

-2

funziona?

trace(clazz.toString()); 
+0

Come ho detto, clazz.toString() restituisce "[class String]" – paleozogt

4

Se volete sapere tutto quello che c'è su una classe, utilizzare describeType. Correlati, potresti trovare utile e getDefinitionByName.

describeType restituisce tutti i dettagli in un oggetto XML. Se stai cercando solo per il nome, provare qualcosa di simile:

trace(describeType(String)[email protected]); 

Questo è actionscript generale. Non ha dipendenza dalla struttura flessibile. Goodluck.

+0

Questo funziona, ma si noti che è notevolmente più lento di getQualifiedClassName() –

1

ecco un codice AS2 semplice che ho fatto che consente di ottenere la classe di base e classe corrente come una stringa:

Se la classe corrente è vuota, questa è una classe base

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