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

public var constantsArr :Array; 

इस तरह से उन्हें मैन्युअल रूप से जोड़े बिना वर्ग निरंतर मूल्यों की एक सरणी प्राप्त करने के लिए क्या यह संभव है:एएस 3 - मैं कक्षा के स्थिरांक की सरणी कैसे प्राप्त कर सकता हूं?

constantsArr = [ CONST_1, CONST_A ]; 
+0

संभव डुप्लिकेट http: // stackoverflow.com/questions/3871576/how-can-i-list-all-the-const-properties-defined-in-a-class – loxxy

उत्तर

14

describeType का उपयोग करते हुए यह संभव होना चाहिए:

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

वह शानदार है! त्वरित उत्तर के लिए बहुत धन्यवाद। –

+1

आपका स्वागत है! –

संबंधित मुद्दे