0
好吧,我通過WebOrb將一個複雜的對象從我的.NET庫傳遞到我的Flex應用程序。 爲了自動翻譯,我使用[RemoteClass]元數據標記,如下所示:使用[RemoteClass]填充ArrayCollection屬性
[RemoteClass(alias="test.PlanVO")]
public class Plan
{
[SyncId]
public var id:int;
public var Name:String;
}
這工作絕對沒問題,直到我儘量延長計劃類包含的複雜的項目的數組:
.NET:
public class PlanVO
{
public int id { get; set; }
public string Name { get; set; }
public List<PlanElementVO> children { get; set; }
}
public class PlanElementVO
{
public string elementName { get; set; }
}
的ActionScript:
[RemoteClass(alias="test.PlanVO")]
public class Plan
{
[SyncId]
public var id:int;
public var Name:String;
public var children:ArrayCollection;
}
[RemoteClass(alias="test.PlanElementVO")]
public class PlanElement
{
public var elementName:String;
}
在這種情況下,即使子庫由.NET庫返回,ActionScript計劃類的children屬性也爲null。
我試圖改變孩子們現場像這樣的屬性:
private var _children:ArrayCollection;
public function get children():ArrayCollection
{
return _children;
}
public function set children(o:*):void
{
if(o is ArrayCollection)
_children = o;
else if(o is Array)
_children = new ArrayCollection(o);
else
_children = null;
}
而是集功能不會被調用。
我能做些什麼來讓孩子們以這種方式進入我的Flex應用程序?
謝謝!
一個數組!當然! DUUUUUH! 非常感謝,只需將其從ArrayCollection更改爲完美! – user176504 2010-07-13 16:35:10
很高興幫助!如果你需要一個ArrayCollection,你總是可以添加一個像getChildrenAsArrayCollection這樣的方法來爲你做轉換。不過,要注意向Flex類添加新屬性,因爲它可能會干擾自動AMF轉換。 – JeffryHouser 2010-07-13 16:43:07