3

飞镖代码:

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

4

1 回答 1

1

您不能这样做,compile time因为泛型类型参数T是根据to-be-specified-later.

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

一个小而重要的澄清。

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

于 2013-07-13T12:01:21.287 回答