2012-05-30 65 views
1

嘿,當我有一個不屬於任何其他類的「對象」實例時,如何將其轉換爲類實例?Flex 4.6將泛型對象轉換爲類實例

一個簡單的用戶類

public class User 
{ 
    public var name:String; 
} 

當我嘗試投

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

var user:User = User(obj); 

的Flex給了我這個錯誤:

TypeError: Error #1034: Type Coercion failed: cannot convert [email protected] to models.User.

回答

0

可能不可能,因爲用戶不會(自動像在Java中)擴展Object類。

如果你想擴展它,那麼.name屬性會通過類型轉換而丟失。

所以你將不得不創建一個新的Object對象並「手工」填充它。

myObj = {}; 
    for (var key:String in myUser) 
      myObj[key] = myUser[key]; 
+0

感謝您的回答。我通過在User類上使用「填充」方法解決了這個問題,我可以將通用對象傳遞給它。 – MorbZ