如何使用Dart和smoke获取实例的参数化类型?

时间:2014-08-18 20:52:20

标签: dart dart-mirrors

考虑以下代码:

class Foo {
  List<String> listOfStrings;
}

使用smoke包,如何通过查看String获取listOfStrings

我发现我们可以从Declaration获得Type,但我看不到如何从Declaration获取参数化类型。

除其他外,这对于构建序列化库非常重要。

1 个答案:

答案 0 :(得分:2)

目前无法做到这一点。

甚至可能无法直接使用镜像API。例如:

import 'dart:mirrors';
class B<T> {}
class A {
  static B<int> b = new B<int>();
}
main() {
  var x = reflectType(A);
  print(x);
  print(x.declarations[#b].type);
}

将打印B,但不打印B<int>