在运行时获取编译时变量

时间:2010-09-14 20:11:15

标签: actionscript-3 namespaces compile-time-constant

我正在尝试使用“define”mxmlc编译器选项将编译时常量嵌入到我的SWF文件中。

<mxmlc ...>
    <define name="NAMES::PluginCompileTime" value="Hello World!"/>
</mxmlc>

如果我将其“硬编码”到我的代码库中,我可以访问此变量,如下所示:

public static const PLUGIN_COMPILED_TIME:String = NAMES::PluginCompileTime;

但是,我希望能够在运行时使用getDefinitionByName()这样做:

var value:* = flash.utils.getDefinitionByName("NAMES::PluginCompileTime");

这会引发以下错误:

ReferenceError: Error #1065: Variable PluginCompileTime is not defined.

有没有人知道在运行时完成在命名空间中加载编译时常量的方法?

1 个答案:

答案 0 :(得分:1)

编译时常量在运行时不可用。它们仅在编译时可用。

如果您需要将其值作为命名空间const,那么正确的解决方案就是“硬编码”它。就像您已经完成的那样。