Показать сообщение отдельно
Старый 20.05.2011, 12:29
JekaB вне форума Посмотреть профиль Отправить личное сообщение для JekaB Найти все сообщения от JekaB
  № 1  
JekaB

Регистрация: Feb 2011
Сообщений: 10
По умолчанию Взятие свойства и сабсвойства у обьекта

Доброго времени суток!

Значит у меня есть класс:

Код AS3:
public class Child extends Object
	{
		private var _age:uint;
 
		public function Child()
		{
			_age = 5;
		}
 
		public function get age():uint
		{
			return _age;
		}
	}
и потом еще один класс:

Код AS3:
public class Parent extends Object
	{
		private var _child:CHILD = null;
 
		public function Parent()
		{
			_child = new Child();
		}
		public function get Child():Child
		{
			return _child;
		}
	}
Потом если я делаю вот так тогда все работает:

Код AS3:
var obj:Parent = new Parent;
var objChild:Child = obj["Child"];
var years:uint = objChild["Age"]; //все работает
или вот так:

Код AS3:
var obj:Parent = new Parent;
var years:uint = obj.Child.Age; //так тоже все работает
А если делаю вот так:

Код AS1/AS2:
var obj:Parent = new Parent;
var years:uint = obj["Child.Age"]; // Основной поток (Приостановлено: ReferenceError: Error #1069: Property Child.Age not found on myHost and there is no default value.)

Как мне сделать, чтобы работал самый последный вариант. Другие варианты не подходят, так как так вызывает свойство ["Child.Age"] внешнее окружение, и я его изменить никак немогу. Как такое обработать? Посоветуйте варианты