2

我正在尝试在 Haxe 中为我的程序构建插件架构。我看到的方式是在插件中克隆包并覆盖我想要的类。

但我有一个问题:如何告诉 haxe 编译器使用插件类而不是核心类?

我想知道宏,但我不知道如何使用它们,所以如果有更简单的方法,我会很高兴!

谢谢。

4

2 回答 2

6

实际上我发现你可以使用编译器的类路径属性来做到这一点:

-cp my/core/app  
-cp my/plugin

将给出预期的结果,最后一个(插件的类路径)首先被采用。

于 2013-11-04T16:13:33.170 回答
2

我制作了一个 Haxe 框架,该框架具有一个内置的 PageComponent 类,该类可以在编译时被正确命名的类覆盖。创建页面实例时,我的逻辑如下:

var class_name:String = "pages.P"+pageId;
var a_class = Type.resolveClass( class_name );
var s = ( a_class != null ) ? Type.createInstance( a_class,[] ) : new PageComponent();

也许你会发现这很有帮助。

于 2013-11-04T17:13:56.780 回答