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

public var constantsArr :Array; 

Czy to możliwe, aby uzyskać tablicę klasy stałych bez dodawania ich ręcznie tak:AS3 - Jak uzyskać tablicę stałych klas?

constantsArr = [ CONST_1, CONST_A ]; 
+0

możliwe duplikat http: // stackoverflow.com/questions/3871576/how-can-i-list-all-the-const-properties-defined-in-class – loxxy

Odpowiedz

14

Korzystanie describeType powinno być możliwe:

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

To jest genialne! Wielkie dzięki za szybką odpowiedź. –

+1

Nie ma za co! –