获取实例的类或超类名-ActionScript3 Tips and Tricks

本文是ActionScript3 Tips and Tricks系列阅读笔记之一Determine Instance Class or Superclass,这里是原文地址

在ActionScript3中,可以使用getQualifiedClassName函数( flash.utils.getQualifiedClassName)获取实例的类名:

1var sprite:Sprite = new Sprite();
2trace(getQualifiedClassName(sprite)); // 输出"flash.display::Sprite"

还可以使用getQualifiedSuperclassName函数 ( flash.utils.getQualifiedSuperclassName ) 获取超类的名称:

1// 输出"flash.display::DisplayObjectContainer"
2trace(getQualifiedSuperclassName(sprite)); 

如果想把字符串转换成类引用,可以使用getDefinitionByName函数( flash.utils.getDefinitionByName ):

1// 输出[class Sprite]
2trace(getDefinitionByName("flash.display::Sprite")); 

而使用describeType函数( flash.utils.describeType

则可以获取非常详细的类的信息:

1var s:String = "hello";
2trace(describeType(s));

输出:

1<type name="String" base="Object" isDynamic="false" isFinal="true" isStatic="false">
2  <extendsClass type="Object"/>
3  <constructor>
4    <parameter index="1" type="*" optional="true"/>
5  </constructor>
6  <accessor name="length" access="readonly" type="int" declaredBy="String"/>
7</type>

下载源文件:

1 文件