在Dart中,如何在存储变量时使用`class`?

时间:2013-11-22 07:06:36

标签: class dart instantiation

Dart

,您可以为变量分配class,例如

var klass = String;

但是一旦分配,你如何使用它?

var str = new klass(); ===> ERROR: malformed type used

如果某个变量中有class,那么如何使用instantiateobject class新的{{1}}?

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;
}