Dart
中,您可以为变量分配class
,例如
var klass = String;
但是一旦分配,你如何使用它?
var str = new klass(); ===> ERROR: malformed type used
如果某个变量中有class
,那么如何使用instantiate
来object
class
新的{{1}}?
答案 0 :(得分:3)
您必须使用dart:mirrors。
import 'dart:mirrors';
class A {
A();
A.named(String value);
}
main() {
final t = A;
// same as 'new A()'
final a1 = reflectClass(t).newInstance(const Symbol(''), []).reflectee;
// same as 'new A.named('test')'
final a2 = reflectClass(t).newInstance(#named, ['test']).reflectee;
}