var o:Object = {title: 'asad'};
var v:ImageItemVO = o as ImageItemVO;
var v:ImageItemVO = ImageItemVO(o); // throws an error
Run Code Online (Sandbox Code Playgroud)
我的ImageItemVO有一个名为title的公共var.此代码运行后,"var v"为null.为什么?有人可以给我一个如何让它工作的例子吗?
该as运营商用于从一个类型转换的对象到另一个,但只有工作,如果该对象可以铸造的方式.如果它不能它会给你null.另一种转换方式(在最后一行上执行它的方式),如果无法转换对象,则会出现错误.
在这种情况下,您根本不想进行投射,因此投射不起作用.相反,你可能想做这样的事情:
var v: ImageItemVO = new ImageItemVO();
v.title = "asad";
Run Code Online (Sandbox Code Playgroud)
或者如果有更多属性,并且您不想手动输入它们:
var o: Object = { ... };
var v: ImageItemVO = new ImageItemVO();
for (var key: String in o) {
v[key] = o[key];
}
Run Code Online (Sandbox Code Playgroud)
此代码将复制所有的属性o来v.
| 归档时间: |
|
| 查看次数: |
2134 次 |
| 最近记录: |