1

我试图通过使用@MirrorsUsed 来减少我的 dart2js 输出,尽管我目前必须注册比我想要的更多的类型,因为我需要它知道某些类有一个默认构造函数,因为我做这样的事情:

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

但是如果我还没有注册class A@MirrorsUsed 它无法创建 A 的实例,因为它不知道它是否具有由const Symbol('').

无论如何,在飞镖中是否可以仅从类型创建一个类型的实例,而不必像我上面所做的那样对其进行反思?

4

1 回答 1

2

如果您提前知道类型,您可以创建一个工厂并完全避免镜像。这样,您必须对实例化进行硬编码,但与应用 MirrorsUsed 相比,维护工作可能会更少。

于 2014-05-26T03:57:02.360 回答