네, .NET 라이브러리의 복잡한 객체를 WebOrb를 통해 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 Plan 클래스의 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 어플리케이션에 아이들을 추가하려면 어떻게해야합니까?
감사합니다.
배열이 있습니다. 당연하지! 듀얼! 대단히 감사합니다. 단순히 ArrayCollection에서 변경하면 완벽하게 작동합니다! – user176504
도와 드리겠습니다! ArrayCollection이 필요한 경우에는 항상 변환을 수행하는 getChildrenAsArrayCollection과 같은 메소드를 추가 할 수 있습니다. Flex 클래스에 새 속성을 추가 할 때는주의해야합니다. 자동 AMF 변환을 방해 할 수 있습니다. – JeffryHouser