Оператор as
используется для литья объекта из одного типа в другой, но работает только в том случае, если объект может быть отброшен таким образом. Если он не может, он даст вам null
. Другой способ кастинга (то, как вы это делаете в последней строке), вместо этого даст вам ошибку, если объект не может быть запущен.
В этом случае вы не хотите бросать вообще, кастинг не работает таким образом. Вместо этого, вы, вероятно, хотите сделать что-то вроде этого:
var v: ImageItemVO = new ImageItemVO();
v.title = "asad";
или если есть больше свойств, и вы не хотите, чтобы напечатать их все вручную:
var o: Object = { ... };
var v: ImageItemVO = new ImageItemVO();
for (var key: String in o) {
v[key] = o[key];
}
Этот код будет копировать все свойства в o
до v
.
так что .. не все равно, чтобы создать экземпляр ImageItemVO с данными, содержащимися в o? –
yes thats right .. Я забыл об этом методе –
Поскольку вы несериализируете его из объекта - возможно, лучше сделать метод: ImageItemVO :: serialize (o: Object) - где вы можете сделать цикл this [ key] = o [ключ]; – ansiart