【问题标题】:Flex: How do you list private attributes of a class?Flex:你如何列出一个类的私有属性?
【发布时间】:2010-06-11 09:46:37
【问题描述】:

我尝试在 Flex 中使用它们的私有属性序列化对象。

introspection API 似乎不允许这样做: “describeType() 方法只返回公共成员。该方法不返回调用者的超类或调用者不是实例的任何其他类的私有成员。”

实例是否有其他方法可以知道其私有成员的名称?

【问题讨论】:

    标签: apache-flex serialization introspection private-members


    【解决方案1】:

    不幸的是,describeType() 方法是在 Flex 中进行自省的唯一方法。人们已经围绕它编写了包装器,如果你想进行自省,那么我推荐as3-commons-reflection,但是没有办法列出类的私有属性,也无法访问它们,即使你可以列出它们。

    【讨论】:

    • 感谢有关 as3-commons-reflection 的提示。 “即使您可以列出它们,也无法访问它们。” :我考虑在每个必须序列化的类中添加一个名为“save()”的方法。将包含此方法的代码(包括 as3 中的指令)。所以最好的办法是包含一个列出私有属性的通用代码,并保存它们的值。知道属性的名称,访问它们的值不是问题(因为 save() 也在类中)。但是列出私有属性的名称似乎是不可能的...... :o(
    • 我曾考虑写一些关于显式序列化函数的东西,但这并不总是奏效——如果你需要序列化具有私有属性的框架对象,那么你就不走运了:(。跨度>
    猜你喜欢
    • 1970-01-01
    • 2019-11-25
    • 1970-01-01
    • 2013-12-09
    • 2023-01-20
    • 2021-04-13
    • 1970-01-01
    • 1970-01-01
    • 2010-11-15
    相关资源
    最近更新 更多