2012-07-21 77 views
6
static public const CONST_1 :String = "CONST_1"; 
static public const CONST_A :String = "CONST_A"; 

public var constantsArr :Array; 

E 'possibile ottenere una matrice dei valori costanti di classe senza aggiungere manualmente in questo modo:AS3 - Come posso ottenere un array di costanti di una classe?

constantsArr = [ CONST_1, CONST_A ]; 
+0

possibile http duplicato: // stackoverflow.com/questions/3871576/how-can-i-list-all-the-const-properties-defined-in-a-class – loxxy

risposta

14

Utilizzando describeType dovrebbe essere possibile:

public class Constants 
{ 
    static public const CONST_1 :String = "CONST_1"; 
    static public const CONST_A :String = "CONST_A"; 
} 

var xmlList:XMLList = describeType(Constants).child("constant"); 

var constantsArray:Array = []; 
for each(var key:XML in xmlList) 
{ 
    constantsArray.push(key.attribute("name")); 
} 
+1

Questo è geniale! Molte grazie per una risposta rapida. –

+1

Siete i benvenuti! –