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

public var constantsArr :Array; 

¿Es posible obtener una matriz de los valores constantes de clase sin añadir manualmente la siguiente manera:AS3 - ¿Cómo puedo obtener una matriz de constantes de una clase?

constantsArr = [ CONST_1, CONST_A ]; 
+0

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

Respuesta

14

Usando describeType debería ser posible:

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

¡Eso es brillante! Muchas gracias por una respuesta rápida. –

+1

¡De nada! –

Cuestiones relacionadas