我正在制作HTML5游戏引擎DartRocket,这取决于StageXL。 StageXL有一些类,它充满了静态成员,我在游戏中需要其中一些。
我的问题是我可以在我的库中使用这些静态成员(DartRocket),但我无法从使用我的库的游戏中获取它们。 基本上,因为我无法从我的游戏中看到我的图书馆的依赖性。 当我说游戏时,我的意思是我的库中的一个例子。
我的问题是:我应该如何访问这些静态成员?
我有一些解决方案:
我发现第一个解决方案很愚蠢,因为用户必须导入StageXL,因为我的库已经依赖它了。
我使用第二个,因为我发现它很容易并且我想对类进行更改,但这也不理想,因为如果库的依赖性发生了变化,我必须自己更新它。 / p>
我还没有尝试过第三种解决方案,因为我真的不喜欢使用镜像,因为它增加了代码的复杂性,使用的内容基于成员的名字(字符串)。
一些不起作用的“解决方案”:
你们有什么想法?
答案 0 :(得分:2)
如果您有飞镖库,可以重新导出其他库。
例如:
StageXL库:
library stagexl;
// parts
// definitions
// ...
你的图书馆:
library dartrocket;
export 'stagexl.dart';
之后你可以使用:
import 'dartrocket.dart';
SomeStageXLClass.method();
这样用户可以使用lib并使用stagexl库中的方法和类。通过使用show
关键字,您还可以定义要导出的类。
此致 罗伯特