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

public var constantsArr :Array; 

Có thể để có được một mảng các giá trị liên tục lớp mà không cần thêm chúng bằng tay như thế này:AS3 - Làm thế nào tôi có thể nhận được một mảng các hằng số của một lớp?

constantsArr = [ CONST_1, CONST_A ]; 
+0

thể trùng lặp http: // stackoverflow.com/questions/3871576/how-can-i-list-all-the-const-properties-defined-in-a-class – loxxy

Trả lời

14

Sử dụng describeType chúng ta có thể:

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

Điều đó thật tuyệt vời! Cảm ơn rất nhiều vì đã có câu trả lời nhanh. –

+1

Bạn được hoan nghênh! –

Các vấn đề liên quan