Dart,是否可以使用没有镜像的默认构造函数创建实例?

时间:2014-05-25 23:57:10

标签: constructor dart dart-mirrors

我正在尝试通过利用@MirrorsUsed减少我的dart2js输出,虽然我现在必须注册比我想要的更多类型,因为我需要知道某些类有一个默认构造函数,因为我做了类似的事情这样:

var a = reflectClass(A).newInstance(const Symbol(''), new List<dynamic>()).reflectee;

但如果我没有使用@MirrorsUsed注册class A,则无法创建A的实例,因为它不知道它是否具有const Symbol('')给出的默认构造函数。

在dart中是否存在仅仅从Type中创建Type的实例而不必像上面那样反映它?

1 个答案:

答案 0 :(得分:2)

如果您事先知道类型,则可以创建工厂并完全避免使用镜像。这样你就必须对实例化进行硬编码,但是应用MirrorsUsed可能会减少维护工作量。