actionscript-3 - 是否可以使用使用类型参数的 Haxe 编写 AS3 库?

标签 actionscript-3 haxe

首先是一些背景知识:我正在寻找一种方法来创建一个“集合”库,该库将基于 Flash Player 版本的实现(FP10 上的向量,FP9 上的数组)从调用代码中抽象出来。我已经写了一个小的 AS3 lib 这样做但是......

  • ...性能很差(特别是因为两级间接和对 Array 实现的运行时类型检查)
  • ...代码很丑(因为需要在编译时定义 Vector 类型,所以我需要一个工厂返回基于仅包含受支持类型的 Enum 的具体 Vector 实例)

  • 我目前正在研究 Haxe 作为一种可能的解决方案,因为它支持类型参数并且能够编译为各种 Flash Player 版本(并且显然编译为 mmore 优化的字节码)。

    现在,我的问题是:有没有办法在 Haxe 中编写一个可以在 AS3 代码中这样使用的库
    var foo:IMyInterface = new MyImplementation(int);
    var bar:IMyInterface = new MyImplementation(getDefinitionByName("my.package.MyClass"));
    

    IMyInterface公开所需的方法( pushpop 、...)?

    基本思想是,我想在运行时提供类型信息,并获得一个类型安全的 Flash Player 版本独立“集合”,以便在调用代码中使用,而不必担心到处都是条件编译片段。

    Haxe 可以做类似的事情吗?如果可以,我该如何让它发挥作用?

    最佳答案

    Haxe 有机会覆盖 Haxe 中的原生类(例如 int )。看看Metadata manual .元数据已在 2.06 版中添加。

    至于getDefinitionByName()的类似物方法。看看resolveClass() Type 的方法类(class)。

    关于actionscript-3 - 是否可以使用使用类型参数的 Haxe 编写 AS3 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6097212/

    相关文章:

    actionscript-3 - Actionscript 3 - 经常并行播放声音

    actionscript-3 - 是否可以将 flash 套接字和 websockets 与套接字 io 同时使用?

    actionscript-3 - libs 和 src 文件夹的区别

    actionscript-3 - AS3 Flex 中的排序对象/ map ?

    javascript - 为什么源 map 不起作用?

    xml - 使用 AS3 访问包含命名空间的 XML 的第二个 child

    javascript - 如何在 Haxe 中引用 JavaScript 库

    linux - 在 Linux (Fedora 25) 上构建 Haxe

    bash - 在 Haxe 中获取 shell 命令的输出

    javascript - Haxe -> CommonJs (NodeJs) 样式输出的 Javascript 目标