Получить Enum из String в ActionScript3 - PullRequest
0 голосов
/ 07 декабря 2009

Есть ли способ в ActionScript3 получить enum из строкового значения? например У меня есть enum

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();
}

и я хочу получить enum Day.MONDAY из строки "MONDAY"

Ответы [ 3 ]

0 голосов
/ 07 декабря 2009

или

var day:String="MONDAY";
trace(Day[day]);
0 голосов
/ 05 февраля 2010

Просто, чтобы быстро вмешаться в это для дальнейшего использования; если у вас есть доступ для изменения класса, a 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;
  }
}
0 голосов
/ 07 декабря 2009

В ActionScript obj.prop совпадает с obj["prop"] - только что подтвердил, что это относится и к статическим свойствам. Таким образом, вы можете получить к нему доступ как:

trace(Day["MONDAY"]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...