2009-12-07 52 views
0

在ActionScript3中,是否有任何方法從字符串值獲取枚舉? 例如我有枚舉在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(); 
} 

,我想從字符串獲取枚舉Day.MONDAY「MONDAY」

回答

0

在ActionScript obj.prop是一樣obj["prop"] - 剛剛確認,這適用於靜態屬性了。所以,你可以訪問它想:

trace(Day["MONDAY"]); 
0

var day:String="MONDAY"; 
trace(Day[day]); 
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; 
    } 
}