gpt4 book ai didi

apache-flex - [RemoteClass] 在 Flex Actionscript 中如何工作 我可以将它用于自定义数据绑定(bind)吗?

转载 作者:行者123 更新时间:2023-12-04 02:54:31 25 4
gpt4 key购买 nike

Actionscript 支持在 BlazeDS 中使用的 [RemoteClass] 元数据标记,为将 AMF 二进制对象从 Java 编码到 BlazeDS 提供数据绑定(bind)提示。

例如:

java :
包装 sample ;

public class UserInfo
{
private String userName;

public String getUserName()
{
return userName;
}

public void setUserName(String value)
{
userName = value;
}
}

ActionScript :
[Bindable]
[RemoteClass(alias="sample.UserInfo")]
public class UserInfo
{
public var userName:String=”";
}

[RemoteClass] 究竟是如何在 BlazeDS 框架中实现的,您能否覆盖该行为并提供可以绑定(bind)到 Actionscript [Bindable]、[RemoteClass] 类的自定义数据绑定(bind)远程框架(例如 JSON 消息传递系统) ?

最佳答案

[RemoteClass(alias="com.example.MyClass")] 是用于调用 flash.net.registerClassAlias() 的 Flex 简写。 :

public function registerClassAlias(aliasName:String, classObject:Class):void

要在运行时访问那些注册的别名类(编写自定义 JSON 数据序列化框架),您可以调用:

getClassByAlias (别名:字符串):类
查找以前通过调用 registerClassAlias() 方法注册了别名的类。

对于从 AS 到 Java 的传出编码,您需要检索别名类名,您可以通过调用 flash.utils.describeType() 来完成。并在 Actionscript 对象的类上使用“反射”来查询对象的属性、属性和方法。

例如以下 ObjectCodec.as 的代码片段似乎使用“@”检索别名属性:
override protected function encodeComplex(o:Object, b:IBinary, context:IContext=null):void
{
var desc:XML = describeType(o);
var classAlias:String = desc.@alias;
//...
}

关于apache-flex - [RemoteClass] 在 Flex Actionscript 中如何工作 我可以将它用于自定义数据绑定(bind)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1671668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com