OK, je passe un objet complexe de ma bibliothèque .NET à mon application Flex via WebOrb. Afin de traduire automatiquement, je suis en utilisant le [RemoteClass] meta tag données comme suit:Remplissage d'une propriété ArrayCollection à l'aide de [RemoteClass]
[RemoteClass(alias="test.PlanVO")]
public class Plan
{
[SyncId]
public var id:int;
public var Name:String;
}
Cela fonctionne tout à fait bien, jusqu'à ce que j'essaie d'étendre la classe de plan pour contenir un tableau d'éléments complexes:
.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;
}
Dans ce cas, même lorsque les enfants sont renvoyés par la bibliothèque .NET, la propriété children de la classe ActionScript Plan est null.
J'ai essayé de changer le domaine des enfants à une propriété comme celui-ci:
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;
}
mais la fonction de jeu ne devient jamais appelé.
Que puis-je faire pour intégrer les enfants dans mon application Flex de cette manière?
Merci!
Un tableau! Bien sûr! DUUUUHH !!! Merci beaucoup, le simple changement de l'ArrayCollection a parfaitement fonctionné! – user176504
Content de vous aider! Si vous avez besoin d'un ArrayCollection, vous pouvez toujours ajouter une méthode comme getChildrenAsArrayCollection qui effectue la conversion pour vous. Attention cependant à ajouter de nouvelles propriétés à la classe Flex, car cela pourrait perturber la conversion automatique AMF. – JeffryHouser