Я использую addProperty()
для динамического заполнения класса геттерами.Вот фрагмент моего кода, который делает именно это:
for (var i in options)
{
this.addProperty(i, getOption, null);
this._optionCount++;
}
//a little while later....
public function getOption()
{
return "hellO";
}
Это работает успешно, потому что, когда я вызываю следующее из временной шкалы (предыдущий код является частью класса DropDown):
var options:Object = new Object();
options.one = "hello";
options.two = "goodday";
options.three = "yo";
options.four= "MEGA AMAZING";
options.five= "yo yo yo";
var drop1:DropDown = new DropDown(this.drop1, "red", options)
И попытка отследить все свойства в var drop1
с помощью:
for (var i in drop1)
trace(i+" = "+drop1[i]);
Я получаю следующее:
_initY = -107
_mask = _level0.drop1.mask
_dropdown = _level0.drop1.options
_optionWidth = 143
_button = _level0.drop1
one = hellO
two = hellO
three = hellO
four = hellO
_optionCount = 5
five = hellO
_shadow = 8330268
_highlight = 9249057
Тем не менее, когда я пытаюсь отследитьследующее:
trace(drop1.one);
Это дает мне ошибку компилятора, говорящую:
Нет свойства с именем 'one'.
Кто-нибудь знает, почему я не могу получить доступ к этой собственности?