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

  • 本站文章除注明转载外,均为本站原创或者翻译。
  • 本站文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处,尊重我的劳动,也尊重你的智商;
  • 本站部分原创和翻译文章提供markdown格式源码,欢迎使用文章源码进行转载;
  • 本博客采用 WPCMD 维护;
  • 本文标题:获取实例的类或超类名-ActionScript3 Tips and Tricks
  • 本文链接:http://zengrong.net/post/364.htm

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

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

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

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

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

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

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

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

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

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

输出:

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

下载源文件:

  determine-instance-class-or-superclass.zip (4.8 KiB, 1,206 hits)