|
|
|||||
Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
|
индуизм
Встала тут задача написать кастомный NumericStepper.
Открыл исходный код /** * Maximum value of the NumericStepper. * The maximum can be any number, including a fractional value. * * @default 10 */ public function get maximum():Number { return _maximum; } public function set maximum(value:Number):void { _maximum = value; // To validate the value as min/max/stepsize has changed. if (!valueChanged) { this.value = this.value; valueSet = false; } dispatchEvent(new Event("maximumChanged")); } Flex 3
__________________
Я просто добрый шутник. Последний раз редактировалось scarbo; 22.02.2011 в 00:38. |
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Отсюда не видно. value может быть сеттером и его захотели дёрнуть.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
|
сеттер конечно, но this.value = this.value, это берут данные из геттера и присваивают сеттеру
__________________
Я просто добрый шутник. |
|
|||||
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
сам так писал иногда.
например в сеттере у меня отсылалось оповещение об изменении. Криво немного, но зависит от контекста . Так что я бы не дал такому коду звание индусского.. не тянет.
__________________
Отряд Котовскага Последний раз редактировалось Котяра; 22.02.2011 в 04:13. |
|
|||||
Modus ponens
|
Нормальный компилятор должен такой код вырезать еще на этапе чтения исходников. Почти наверняка этот сеттер нужно "дернуть" чтобы биндинги сработали. Т.е. чтобы продиспатчить событие, но решили замазать дырку, вместо того, чтобы сделать по-человечески.
__________________
Hell is the possibility of sanity |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
У меня такое тоже есть. Практическая цель — «передёрнуть» сеттер для валидации.
|
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Делаю, конечно. История долгая, но суть примерна та же, что и в оп-посте: устанавливается максимум некоторого значения, потом происходит валидация этого значения путём «передёргивания» сеттера. В нём же стоит проверка:
Поэтому если изначально значение было больше, оно отвалидируется. Неочевидный приём и за него надо давать по рукам, если есть кому Ну и потом, иногда полезен для on-demand геттеров. |
|
|||||
Цитата:
В третьей ветке это "решение" служило одной единственной цели, проверить, в конце-концов, value на валидность после изменения диапазона. Так что решение более чем неочевидное |
|
|||||
Регистрация: Sep 2010
Адрес: Ростов-на-Дону
Сообщений: 369
|
Я вот не так давно использовал в коде строчку:
Сама по себе она выглядит странно, но в такой связке: смысл ее становится понятен))))) |
Часовой пояс GMT +4, время: 20:26. |
|
« Предыдущая тема | Следующая тема » |
|
|