我正在尝试在 Haxe 中为我的程序构建插件架构。我看到的方式是在插件中克隆包并覆盖我想要的类。
但我有一个问题:如何告诉 haxe 编译器使用插件类而不是核心类?
我想知道宏,但我不知道如何使用它们,所以如果有更简单的方法,我会很高兴!
谢谢。
我正在尝试在 Haxe 中为我的程序构建插件架构。我看到的方式是在插件中克隆包并覆盖我想要的类。
但我有一个问题:如何告诉 haxe 编译器使用插件类而不是核心类?
我想知道宏,但我不知道如何使用它们,所以如果有更简单的方法,我会很高兴!
谢谢。
实际上我发现你可以使用编译器的类路径属性来做到这一点:
-cp my/core/app
-cp my/plugin
将给出预期的结果,最后一个(插件的类路径)首先被采用。
我制作了一个 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();
也许你会发现这很有帮助。