我正在尝试通过利用@MirrorsUsed减少我的dart2js输出,虽然我现在必须注册比我想要的更多类型,因为我需要知道某些类有一个默认构造函数,因为我做了类似的事情这样:
var a = reflectClass(A).newInstance(const Symbol(''), new List<dynamic>()).reflectee;
但如果我没有使用@MirrorsUsed注册class A
,则无法创建A的实例,因为它不知道它是否具有const Symbol('')
给出的默认构造函数。
在dart中是否存在仅仅从Type中创建Type的实例而不必像上面那样反映它?
答案 0 :(得分:2)
如果您事先知道类型,则可以创建工厂并完全避免使用镜像。这样你就必须对实例化进行硬编码,但是应用MirrorsUsed可能会减少维护工作量。