Волшебное превращение Object --> Class
Искал совсем друге, а наткнулся на этот хак
https://github.com/darronschall/ObjectTranslator
Например, есть объект, допустим, загруженный с сервера json
и класс c аналогичными свойствами
AS3 не позволит вам сделать так
вот тут и можно использовать этот грязный трюк
внутри это устронео так:
- объект cериализируется в ByteArray как AFM
- вносятся правки в ByteArray (подменяется тип объекта)
- ByteArray десеарлизуется в указанный класс
Правда смысла этим пользоваться я не вижу, ведь можно обойтись и без трюков :~)
достаточно просто создать новый инстанс А а потом в цикле пройтись по всем свойствам о и присвоить значения А
Всего комментариев 5
Комментарии
![]() ![]() |
|
Судя по комментам все равно возникнет ошибка, если класс не содержит какого-либо поля, которое есть в нетипизированном объекте. Как и вашем простом цикле.
|
![]() ![]() |
|
да, простой цикл лучше, но трюк просто интересный, хоть и бессмысленный
|
![]() ![]() |
|
Смысл "может быть", если производительность трюка больше чем простого цикла.
Но это нужно проверить. ... Посмотрел исходник. Простой цикл должен быть быстрее. Может быть тогда "смысл" в удобстве? Попробовал сериализовывать объект с приватными полями - не подставляется, тогда и смысл в удобстве отпадает. |
|
Обновил(-а) zuxul 05.09.2012 в 10:32
|
![]() ![]() |
|
com.adobe.serializers.utility::TypeUtility
|
Последние записи от artcraft
- Что такое entity framework (12.09.2012)
- Подводные камни Dictionary (04.09.2012)
- Волшебное превращение Object --> Class (04.09.2012)
- Инверсия контроля (14.04.2012)
- Loose coupling (10.01.2012)