在ActionScript3中从String获取Enum

时间:2009-12-07 14:31:05

标签: actionscript-3 enums

ActionScript3中是否有任何方法可以从字符串值中获取枚举? 例如我有枚举

public final class Day
{
    public static const MONDAY:Day = new Day();
    public static const TUESDAY:Day = new Day();
    public static const WEDNESDAY:Day = new Day();
    public static const THURSDAY:Day = new Day();
    public static const FRIDAY:Day = new Day();
    public static const SATURDAY:Day = new Day();
    public static const SUNDAY:Day = new Day();
}

我希望从字符串“MONDAY”获得枚举Day.MONDAY

3 个答案:

答案 0 :(得分:0)

在ActionScript obj.prop中与obj["prop"]相同 - 只是确认这也适用于静态属性。所以你可以像访问它一样访问它:

trace(Day["MONDAY"]);

答案 1 :(得分:0)

var day:String="MONDAY";
trace(Day[day]);

答案 2 :(得分:0)

只是为了将来的参考,快速加入这个;如果你有权修改类,可以使用fromString();方法会更好,因为它使其他开发人员的API更清晰。

public static function fromString(value : String) : Day
{
  switch(value.toLowerCase())
  {
    case "monday":
      return MONDAY;

    case "tuesday":
      return TUESDAY;

    // ...etc

    default:
      throw new ArgumentError(value + " is not a valid value");
      return null;
  }
}