1

嘿,当我有一个不属于任何其他类的“对象”实例时,如何将其转换为类实例?

例子

一个简单的用户类

public class User
{
    public var name:String;
}

当我尝试投射

var obj:Object = new Object;
obj.name = "Alex";

var user:User = User(obj);

Flex给了我这个错误:

TypeError:错误 #1034:类型强制失败:无法将 Object@97a52b1 转换为 models.User。

4

1 回答 1

0

可能是不可能的,因为 User 不会(自动像在 Java 中一样)扩展 Object 类。

如果你想扩展它,那么 .name 属性将通过类型转换丢失。

因此,您必须创建一个新的 Object 对象并“手动”填充它。

   myObj = {};
   for (var key:String in myUser) 
             myObj[key] = myUser[key];
于 2012-05-31T14:08:40.147 回答