AS3: расширение класса словаря - доступ к сохраненным данным - PullRequest
0 голосов
/ 19 июля 2009

Итак, я хочу расширить словарный класс. Пока все работает, за исключением того, что в некоторых моих методах, которые должны ссылаться на содержимое словаря, я делаю вызов вроде:

this[ key ]

Это не нравится. Это просто говорит мне, что нет свойства «ключ». Есть ли способ доступа к данным в этом классе?

Также я использую целое число для ключа.

Редактировать: Я обнаружил, что такое же поведение происходит при расширении массива.

var myArray : Array = new Array();
trace( myArray[ 0 ] );
var myArrayExtender : ArrayExtender = new ArrayExtender();
trace( myArrayExtender[ 0 ] );

Где в этом случае myArray возвращает «undefined», а myArrayExtender выдает ошибку 1069. ArrayExtender - это пустой класс, который расширяет Array и вызывает super () в конструкторе.

1 Ответ

1 голос
/ 19 июля 2009

из того, что вы говорите, я совершенно уверен, что вы не объявили ArrayExtender как dynamic в массиве ECMAscript доступ и доступ к свойству семантически эквивалентны ... # 1069 происходит, если вы обращаетесь к неопределенному свойству, в запечатанном классе , поскольку они не позволяют добавлять свойства во время выполнения ...

то же самое для Dictionary ...

Greetz

back2dos

...