Во Flex вы можете добавлять функции к прототипу класса; а как добавить сеттер?
Например, с A
некоторым (не динамическим) классом вы можете сделать это:
var o:Object = new A();
A.prototype.myFunction = function():void{trace("foo");}
o.foo();
И это вызовет функцию foo
. Но как вы можете добавить установщик, чтобы установка свойства вызывала установщик (точно так же, как если бы вы объявили установщик «обычным» способом в классе A). Итак, я хочу что-то вроде этого:
// doesn't work!
A.prototype["set myProperty"] = mySetter;
o.myProperty = "test"; // should call mySetter
PS: манипулирование прототипом - это необычная вещь во Flex, и я бы не рекомендовал ее вообще. Но ради этого вопроса просто предположим, что есть причина динамически добавлять сеттер.