Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Идентификация объекта ByteArray (http://www.flasher.ru/forum/showthread.php?t=184625)

fish_r 23.09.2012 14:04

Идентификация объекта ByteArray
 
Формально ByteArray является наследником Object-a. Вот только обращения к свойствам и методам байтэррея определенным в Object приводят либо к ошибке, либо возвращают false/null ( в том числе применение is/as ). То есть можно, конечно, обратиться к свойству объекта bytesAvailable и try/catch перехватить ошибку ( если это окажется не byte array), но это ужасный выход.

Отсюда два вопроса:

С какой целью методы объекта переопределены в его наследнике ( ваша версия )?
Как, всё же, корректно идентифицировать ByteArray?

Wolsh 23.09.2012 15:17

Приведите пример ошибки.

Код AS3:

                        var ba:ByteArray = new ByteArray();
                        trace(ba is ByteArray); // true
                        trace((ba as ByteArray).bytesAvailable); // 0


fish_r 23.09.2012 15:57

Сори, неправильно формулировал

Код AS3:

    trace( "bytes: " + bytes is ByteArray ); //false
    trace( "bytes: " + ( bytes is ByteArray  ) ); //bytes: true

ещё можно определить тип через функции getQualifiedClassName, getQualifiedSuperclassName
правда в контексте программы мне это не удобно, т.к. мне сначала нужно выяснить наличие некого свойства в объекте через hasOwnProperty(), а байтэрей возрващает ошибку обращения :(

Deimos747 23.09.2012 16:04

Цитата:

Сообщение от fish_r (Сообщение 1097171)

Код AS3:

    trace( "bytes: " + bytes is ByteArray ); //false
    trace( "bytes: " + ( bytes is ByteArray  ) ); //bytes: true


false в первом случае, потому что сначала выполнится сложение, а уже потом проверка. Результатом конкатенации будет String

artcraft 23.09.2012 16:13

Код AS3:

    trace( "bytes:", bytes is ByteArray ); //bytes: true



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

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