【发布时间】:2016-12-01 03:07:22
【问题描述】:
我正在尝试获取 ActionScript 中某个类的 DefaultProperty 元数据,但我在元数据 XML 中找不到任何提及 DefaultProperty 的内容。
我正在使用以下代码:
var describedTypeRecord:DescribeTypeCacheRecord = mx.utils.DescribeTypeCache.describeType(BorderContainer);
var typeDescription:* = describedTypeRecord.typeDescription;
XML 很长,但这里是它返回的第一个节点:
<type name="spark.components::BorderContainer" base="spark.components::SkinnableContainer" isDynamic="false" isFinal="false" isStatic="false">
BorderContainer 或 SkinnableContainer 的默认属性是mxmlContentFactory:
[DefaultProperty("mxmlContentFactory")]
我也尝试过 RichText。默认属性是“内容”:
[DefaultProperty("content")]
它似乎没有在元数据中显示任何关于它的信息。
在编译器选项中,我包含了编译器参数:
-keep-as3-metadata+=DefaultProperty
【问题讨论】:
-
我正在获取 Richtext 的 defaultProperty 元数据标签。
mxmlContentFactory 是 SkinnableContainer 的 DefaultProperty,它在 SkinnableContainer 的生成 xml 中显示,但不为 BorderContainer 显示它 -
是的。有时它们在超类上声明。我不得不走遍父类并检查每一个才能找到它。
标签: actionscript-3 flash apache-flex flex4