AS3 - 如何获得类的常量数组?

san*_*hez 6 flash actionscript actionscript-3

static public const CONST_1 :String = "CONST_1";
static public const CONST_A :String = "CONST_A";

public var constantsArr :Array;
Run Code Online (Sandbox Code Playgroud)

是否有可能获得类常量值的数组而不像这样手动添加它们:

  constantsArr = [ CONST_1, CONST_A ];
Run Code Online (Sandbox Code Playgroud)

Bar*_*klı 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"));
}
Run Code Online (Sandbox Code Playgroud)