В настоящее время меня смущает класс Vector
.Я написал красивый XML
для парсера TypedClass.Работает красиво и без ошибок. ДО сотрудник заметил, что мы получили ошибку преобразования для Vector.<Number> to Vector.<*>
.
Каждый Vector
Я когда-либо проверял все расширения Vector.<*>
.
Vector.<Sprite>
, Vector.<String>
, Vector.<Point>
, Vector.<Boolean>
, Vector.<TextField>
, Vector.<CustomObject>
и т. Д. И т. Д. И т. Д. ВСЕ из них.
<type name="__AS3__.vec::Vector.<String>" base="__AS3__.vec::Vector.<*>" isDynamic="true" isFinal="false" isStatic="false">
<extendsClass type="__AS3__.vec::Vector.<*>"/>
<extendsClass type="Object"/>
<accessor name="length" access="readwrite" type="uint" declaredBy="__AS3__.vec::Vector.<*>"/>
<accessor name="fixed" access="readwrite" type="Boolean" declaredBy="__AS3__.vec::Vector.<*>"/>
</type>
Но тогда, когда я использую attributeType на Vector.<Number>
, Vector.<uint>
и Vector.<int>
.
<type name="__AS3__.vec::Vector.<Number>" base="Object" isDynamic="true" isFinal="true" isStatic="false">
<extendsClass type="Object"/>
<constructor>
<parameter index="1" type="uint" optional="true"/>
<parameter index="2" type="Boolean" optional="true"/>
</constructor>
<accessor name="length" access="readwrite" type="uint" declaredBy="__AS3__.vec::Vector.<Number>"/>
<accessor name="fixed" access="readwrite" type="Boolean" declaredBy="__AS3__.vec::Vector.<Number>"/>
</type>
Теперь я учел эти 3 вектора по отдельности, поскольку даже uint и int не расширяются Vector.<Number>
, как я и ожидал.И моя функция синтаксического анализа снова работает для всех типов.Но моя путаница связана с тем, ПОЧЕМУ это так, и почему я не смог найти никакой документации по этому вопросу.