Dart 代码:
main() {
var x = new X();
x.go();
}
class M<T> {
go() {
print(T); // !!!! can't be compiled
}
}
class X extends M<X> {
}
您可以在
go
方法中看到,我想打印类型参数T
的信息,但是无法编译。如何获取类型参数
T
的名称? 最佳答案
您无法在compile time
上执行此操作,因为使用T
声明了通用类型参数to-be-specified-later
。
只有通过reflection
才有可能,但这是一项昂贵的操作。
一个小的但重要的说明。
目前已经计划了这种可能性,但当前的"mirrors"
库版本并未实现这种可能性,该库为Dart提供了基本的反射支持(SDK版本0.6.3.3_r24898)。