Вы должны быть в состоянии использовать скобки для этого.Например:
var foo:Sprite = new Sprite();
foo.rotation = 20;
trace( foo["x"], foo["rotation"]); // traces "0 20"
или более конкретно для вашего случая:
var bar:String = "rotation";
trace( foo[bar] ); // traces "20"
Единственное, на что вам следует обратить внимание, это то, что средство доступа к скобкам выдаст ReferenceError, если вызапросить свойство объекта, которого там нет, например:
trace ( foo["cat"] ); // throws ReferenceError
Но оно не выдаст, если вы запрашиваете статическое свойство:
trace ( Sprite["cat"] ); // traces "undefined"
Так что в вашем случаеВы можете попробовать:
if ( this[value] == undefined ) {
throw new ArgumentError("set city value is not applicable.");
}
РЕДАКТИРОВАТЬ: Извините, я путал имена const с их значениями.
Чтобы это работало над вашей проблемой, вам нужно сделать строкузначение равно имени const, например:
public static const HALIFAX:String = "HALIFAX";
, тогда вы можете использовать запрос, как описано выше, и он даст вам желаемый результат.