我正在制作一个HTML5游戏引擎DartRocket,它依赖于StageXL。StageXL有一些类,其中充满了静态成员,我在游戏中需要它们中的一些。
我的问题是我可以在我的库(DartRocket)中使用这些静态成员,但是我无法从使用我的库的游戏中找到它们。基本上,因为我无法从游戏中看到我的库的依赖性。当我说游戏的时候,我指的是我图书馆里的一个例子。
我的问题是:我应该如何访问这些静态成员?
我想到了一些解决办法:
我觉得第一个解决方案很愚蠢,因为用户必须导入StageXL,而且我的库已经依赖它了。
我使用第二个,因为我发现它很容易,我想对类进行更改,但这也不是理想的,因为如果库的依赖性发生了变化,我必须自己更新它。
我还没有尝试第三种解决方案,因为我并不真正喜欢使用镜像,因为它增加了代码的复杂性,并且使用基于成员的名称(String)。
一些无效的“解决方案”:
你们觉得怎么样?
发布于 2014-06-01 19:04:36
如果在dart中有一个库,则可以重新导出其他库。
例如:
StageXL图书馆:
library stagexl;
// parts
// definitions
// ...你的图书馆:
library dartrocket;
export 'stagexl.dart';之后,您可以使用:
import 'dartrocket.dart';
SomeStageXLClass.method();这样,用户就可以使用lib,也可以使用stagexl库中的方法和类。通过使用show关键字,还可以定义要导出的类。
向罗伯特问好
https://stackoverflow.com/questions/23983200
复制相似问题