Показать сообщение отдельно
Старый 22.07.2008, 21:24
Tfp вне форума Посмотреть профиль Отправить личное сообщение для Tfp Найти все сообщения от Tfp
  № 5  
Ответить с цитированием
Tfp
 
Аватар для Tfp

Регистрация: May 2008
Сообщений: 161
Код:
package {
	import flash.display.*;
	import flash.utils.*;
    import flash.net.registerClassAlias;

	dynamic public class Test extends Sprite
	{
		public function Test() {
			var user:UserInfo = new UserInfo();
			user.name     = "David";
			user.email    = "david@david.com";
			user.page  = new HomePage();
			user.page.title = "David";
			user.page.url= "david.com";

			registerClassAlias("u", UserInfo);
			registerClassAlias("p", HomePage);
			
			
			trace("user class name:",getQualifiedClassName(user));
			trace("user.page class name:",getQualifiedClassName(user.page));

			var user2:UserInfo = clone(user) as UserInfo;

			trace("user2 class name:",getQualifiedClassName(user2));
			trace("user2.page class name:",getQualifiedClassName(user2.page));

		}
		private function clone(source:Object):* {
			var copier:ByteArray = new ByteArray();
			copier.writeObject(source);
			copier.position = 0;
			return (copier.readObject());
		}
	}
}

class UserInfo {
	internal var name:String;
	internal var email:String;
	internal var page:HomePage;

	public function UserInfo() {
	}
}
class HomePage {
	internal var url:String;
	internal var title:String;

	public function HomePage() {
	}
}
user class name: ::UserInfo
user.page class name: ::HomePage
user2 class name: ::UserInfo
user2.page class name: null