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