flutter - 如何获得泛型类型?

标签 flutter dart

我想获取Type属于泛型类。理想情况下,我想要以下内容:

Type type = MyClass<int>;

但这会引发语法错误。
访问此类型信息的正确方法是什么?

我知道我可以使用 runtimeType 获得这种类型像这样:
final foo = MyClass<int>();
Type type = foo.runtimeType;

但这需要对象的实例;这不适合我的用例。

最佳答案

Dart 不支持类文字中的类型参数 ( https://github.com/dart-lang/sdk/issues/11923 )

但是你可以写一个小的通用助手:

Type typeOf<T>() => T;

main() {
  Type type = typeOf<MyClass<int>>();
  print(type);
}

关于flutter - 如何获得泛型类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52891537/

相关文章:

dart - Flutter - 从 Assets 中读取文本文件

firebase - Flutter StreamBuilder 从 Firestore 返回 null

inheritance - 为什么 Dart 不继承构造函数?

flutter 。如何将容器的一个边缘切割成凹形/月牙形

flutter - 如何创建一个带有圆形边缘的自定义容器?

json - 如何将很长的字符串保存到Firebase Firestore数据库中?

Flutter Web : How Do You Compress an Image/File?

c++ - DrawShadow 中的 Elevation 究竟做了什么?

flutter - 有什么办法可以将大量 Assets 图像显示为 ListView ?

firebase - flutter :检查文档是否存在