【问题标题】:AS3 test for Class type类类型的 AS3 测试
【发布时间】:2011-07-19 16:15:55
【问题描述】:

我有一个函数,它为我提供了我传入的对象的类类型。

public function getClass(obj:Object):Class {
return Class(getDefinitionByName(getQualifiedClassName(obj)));
}

现在如果我这样做

trace(getClass(panelStack[0]));

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

但如果我这样做

trace(getClass(panelStack[0]) is InfoPanel);

我猜错了,但我期待的是真的。

谁能指出我在这里做错了什么。我正要把头发的最后几根扯掉!!!

谢谢,

标记

【问题讨论】:

  • is 仅适用于实例

标签: flash apache-flex actionscript-3


【解决方案1】:

您快到了,只需删除 getClass() 调用即可。试试这个:

trace(panelStack[0] is InfoPanel);

is 运算符可以与任何变量或表达式一起使用,以确定它是否是特定数据类型的成员。当您调用 getClass() 时,您实际上是在针对完全不同的实例进行测试。

【讨论】:

  • 你的解释很有道理。 3 小时前您在哪里;) 非常感谢您花时间发布您的解决方案。
【解决方案2】:

你不应该使用is,而应该使用== ;)

因为getClass(panelStack[0]) is Class

【讨论】:

    猜你喜欢
    • 2014-03-31
    • 2013-03-20
    • 2014-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多