J F*_*J F 5 generics types dart
如果我尝试将一个带有泛型的类型赋给Type变量,我会得到一个错误,但如果我使用一个runtimeType变量,一切正常.
Type t = List;
//Type t1 = List<int>; // ERROR !!!
Type t2 = new List<int>().runtimeType;
print('$t $t2'); //> List List<int>
Run Code Online (Sandbox Code Playgroud)
这是一个bug还是有些东西我没有得到?
你的第一行令人惊讶,但是,是的,它有效。类文字的类型为“Type”:
print((List).runtimeType);
--> TypeImpl
print(List is Type);
--> true
Run Code Online (Sandbox Code Playgroud)
代码片段其余部分的问题正是您在 github 上发现的问题:
https://github.com/dart-lang/sdk/issues/11923
-- 类文字不能使用泛型。您必须获取一个实例并使用runtimeType 来获取您想要的类型。
| 归档时间: |
|
| 查看次数: |
655 次 |
| 最近记录: |