首页 > 解决方案 > Dart:获取泛型 List 类型的子类型

问题描述

考虑以下方法:

static void parse<T>(String input, T instance)

可能有一种情况TList. 如何获得 的子类型List?请注意,此时没有元素List。所以做例如List[0].runtimeType是没有选择的。

如果T是类型List<Foo>,我想得到Foo

在 Dart 中如何做到这一点?

标签: dartflutter

解决方案


(有点)可以做到,但这是一个非常丑陋的解决方法。一个条件是您必须先初始化列表,然后才能访问它的类型。

List<Something> someList = new List<Something>();
String type = someList.runtimeType.toString(); // List<Something>

然后你就可以读取类型并用它做一些事情。


推荐阅读