类型的AS3测试

cro*_*y88 5 apache-flex flash actionscript-3

我有一个函数,它给我一个我传入的对象的类类型.

public function getClass(obj:Object):Class {
return Class(getDefinitionByName(getQualifiedClassName(obj)));
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我这样做

trace(getClass(panelStack[0]));
Run Code Online (Sandbox Code Playgroud)

我在输出窗口中得到[类InfoPanel]是正确的

但是,如果我这样做

trace(getClass(panelStack[0]) is InfoPanel);
Run Code Online (Sandbox Code Playgroud)

我弄错了,但我期待的是真的.

谁能指出我在这里做错了什么.我正准备把头发的最后部分撕掉!!!

谢谢,

标记

Pet*_*ter 10

你几乎就在那里,只需删除getClass()电话.试试这个:

trace(panelStack[0] is InfoPanel);
Run Code Online (Sandbox Code Playgroud)

is操作者可与任何变量或表达式中使用以确定它是否是一个特定的数据类型的成员.当你打电话给getClass()你时,基本上是针对完全不同的实例进行测试.


Kod*_*iak 6

你不应该使用is但是==;)

因为 getClass(panelStack[0]) is Class