我有一个函数,它给了我传入的对象的类类型。
public function getClass(obj:Object):Class {
return Class(getDefinitionByName(getQualifiedClassName(obj)));
}
现在,如果我这样做
trace(getClass(panelStack[0]));
我在输出窗口中得到[类InfoPanel]是正确的
但如果我这样做
trace(getClass(panelStack[0]) is InfoPanel);
我弄错了,但我期待是真的。
有人可以指出我在这里做错了什么。我正要把头发的最后部分撕掉!!!
谢谢,
标记
答案 0 :(得分:10)
你几乎就在那里,只需删除getClass()
电话。试试这个:
trace(panelStack[0] is InfoPanel);
is
运算符可以与任何变量或表达式一起使用,以确定它是否是特定数据类型的成员。当您调用getClass()
时,您实际上是针对完全不同的实例进行测试。
答案 1 :(得分:6)
您不应该使用is
,而应使用==
;)
因为getClass(panelStack[0]) is Class