Я расширил класс ByteArray, например:
[RemoteClass(alias="MyByteArray")]
public class MyByteArray extends ByteArray {}
и клонировал экземпляр этого класса, используя ByteArray # readObject () / writeObject (). Однако по какой-то причине клонированный объект является экземпляром ByteArray, а не MyByteArray. Это показано в следующем примере:
registerClassAlias("MyByteArray", MyByteArray);
var b1:MyByteArray = new MyByteArray();
var tmp:ByteArray = new ByteArray();
tmp.writeObject(b1);
tmp.position = 0;
var b2:* = tmp.readObject();
trace( b2 is MyByteArray ); // prints false
trace( b2 is ByteArray ); // prints true
Более того, когда я добавляю некоторые настраиваемые поля в классе MyByteArray, они не сохраняются с помощью writeObject () и не клонируются ...
Кто-нибудь может мне объяснить, почему клонированный объект не является экземпляром MyByteArray?
Большое спасибо!