2011-02-11 2 views

ответ

1

Нет, к сожалению, нет. Вы могли бы легко реализовать его, если бы я собирался его реализовать, я бы расширил Proxy object. Это даст вам немного гибкости.

UPDATE:

Это обновление для разъяснения по этому вопросу в замечании ОП. Комментарий был «Будет ли новый класс расширять прокси, а не словарь/и т. Д.?»

Да, вы хотели бы расширить прокси-сервер, причина в том, что он позволяет вам переопределить несколько магических методов для достижения вашей цели. В частности, в вашем случае вы можете переопределить setProperty(name:*, value:*):void. Этот метод будет вызываться каждый раз, когда свойство устанавливается в вашем классе (его до вас, чтобы обеспечить реализацию набора), чтобы вы могли подсчитать количество значений, заданных в данный момент времени. Если вы расширяете объект или словарь, у вас нет доступа к этому и знаете способ узнать, когда будет установлено новое свойство.

Если вы расширили объект вместо этого, вам нужно будет полагаться на интерфейс для достижения вашей цели, требуя от пользователя устанавливать свойства посредством вызовов методов.

реализация

Прокси позволит вам еще установить свойство, как это:

myObj.foo = 'bar'; 
myObj["foo"] = 'bar'; 

Реализацию методы (расширение объекта) будет выглядеть следующим образом:

myObject.setVal("name", "val"); 
+0

Это будет новый класс расширяет прокси и не словарь/и т. д.? Я новичок в ActionScript и очень ценю, если кто-то создаст готовый класс для совместного использования ... –

+0

Я обновил ответ, чтобы выяснить, почему. Надеюсь, поможет! –

Смежные вопросы