Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   как узнать тип данных в Vector.<Type>? (http://www.flasher.ru/forum/showthread.php?t=135409)

gloomyBrain 22.01.2010 18:00

как узнать тип данных в Vector.<Type>?
 
Всем привет и, собственно, сабж =)
Пытался определять по первому элементу, но ведь его может и не быть (то есть при длине вектора = 0 определить тип данных ... мне никак)

Поможите чем можите... сами мы немесные

r_r_f_r 22.01.2010 19:12

Код AS3:

                        var _vec:Vector.<Number> = new Vector.<Number>();
                        var type:String = describeType(_vec).accessor.@declaredBy[0];
                        type = type.slice(type.indexOf('<')+1,type.indexOf('>'));
                        trace (type);

Но в будующем, в случае Vector.<Vector<Number>> это может не работать

gloomyBrain 23.01.2010 01:28

Открою небольшой секрет - я делаю сериализацию флеш-объектов в бинарный протокол. И я уже использовал там describeType. Почему я не догадался? =)
Спасибо

Пы Сы
Я, в принципе, обошелся без этого. Потому как:
- допустим, я хочу записать массив со строками
- допустим, массив у меня типизированный (т.е. Vector.<String>)

Как я думаю это делать: пишем тэг массива, затем тэг его длины, затем тэг типа (один раз, а не перед каждым элементом, как при нетипизированном массиве) а затем подряд сами элементы (без каких-либо разделителей между ними). Но если длина массива (а она идет раньше, чем тэг типа массива) равна нулю - какая мне разница какой там тип? А если длина больше нуля - можно определить по первому элементу.


Часовой пояс GMT +4, время: 21:25.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.