如何获取类型参数的名称?

时间:2013-07-13 11:20:37

标签: generics 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的名称?

1 个答案:

答案 0 :(得分:1)

您无法在compile time执行此操作,因为根据T声明了泛型类型参数to-be-specified-later

可能只能通过reflection,但这是一项昂贵的操作。

一个小而重要的澄清。

这种可能性是有计划的,但未在当前版本的"mirrors"库中实现,该库为Dart提供基本的反射支持(SDK版本0.6.3.3_r24898)。