Actionscript 3 有没有办法在运行时获取DefaultProperty元数据?

Actionscript 3 有没有办法在运行时获取DefaultProperty元数据?,actionscript-3,flash,apache-flex,flex4,Actionscript 3,Flash,Apache Flex,Flex4,我试图在ActionScript中获取类的DefaultProperty元数据,但在元数据XML中找不到任何关于DefaultProperty的内容 我正在使用以下代码: var describedTypeRecord:DescribeTypeCacheRecord = mx.utils.DescribeTypeCache.describeType(BorderContainer); var typeDescription:* = describedTypeRecord.typeDescript

我试图在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">
我也试过RichText。此项的默认属性为“内容”:

元数据中似乎没有显示任何关于它的内容

在编译器选项中,我包含了编译器参数:

-keep-as3-metadata+=DefaultProperty

它不是在某些类上设置的,但是如果定义了它,它将在超类上定义

我正在检查BorderContainer,但它是在SkinnableContainer上定义的:

<metadata name="DefaultProperty">
  <arg key="" value="mxmlContentFactory"/>
</metadata>


我发布的代码在主类上定义时起作用。如果一个类没有默认属性,我会得到所有超类的列表,并检查每个超类,直到找到object或UIComponent。

在某些类上没有设置它,但如果定义了它,它将在超类上定义

我正在检查BorderContainer,但它是在SkinnableContainer上定义的:

<metadata name="DefaultProperty">
  <arg key="" value="mxmlContentFactory"/>
</metadata>


我发布的代码在主类上定义时起作用。如果一个类没有默认属性,我会得到所有超类的列表,并检查每个超类,直到找到object或UIComponent。

我得到的是Richtext的defaultProperty metadatatag。mxmlContentFactory是SkinnableContainer的DefaultProperty,它在生成的xml中显示SkinnableContainer,但不显示BorderContainerEah。有时它们在超类上声明。我必须遍历父类并检查每个父类才能找到它。我正在获取Richtext的defaultProperty metadatatag。mxmlContentFactory是SkinnableContainer的DefaultProperty,它在生成的xml中显示SkinnableContainer,但不显示BorderContainerEah。有时它们在超类上声明。我必须走遍所有的家长班级,检查每一个班级以找到它。
<metadata name="DefaultProperty">
  <arg key="" value="mxmlContentFactory"/>
</metadata>