确定将要创建的类是否是另一个的子类

时间:2011-01-28 17:22:49

标签: actionscript-3

对于这个例子,我将使用2个类,Entity和CSpawner。 CSpawner是实体的孩子。

我想执行以下条件:

if((new CSpawner()) is Entity)

它的工作方式与预期一致。

但我想做这个测试,而不是创建一个新的CSpawner对象,如下所示:

if(CSpawner is Entity)

但它不起作用,因为CSpawner是一个Class。

如何在不创建新的CSpawner对象的情况下执行这种条件?

2 个答案:

答案 0 :(得分:2)

查看flash.util包下的describeType()函数。它提供了您正在寻找的数据类型(例如对象和类对象)。

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/utils/package.html#describeType()

答案 1 :(得分:1)

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/utils/package.html#getQualifiedSuperclassName()正是您要找的。 它返回超类名称 您可以从utils包中检查其他方法 - 这是ActionScript的基本反射:)