我想获得泛型类的Type
。理想情况下,我想要以下内容:
Type type = MyClass<int>;
但这会引发语法错误。 获取此类信息的正确方法是什么?
我知道我可以使用runtimeType
来获得这种类型,
final foo = MyClass<int>();
Type type = foo.runtimeType;
但这需要对象的实例;这不适合我的用例。
答案 0 :(得分:11)
Dart不支持类文字(https://github.com/dart-lang/sdk/issues/11923)中的类型参数
但是您可以编写一个小的通用帮助程序:
Type typeOf<T>() => T;
main() {
Type type = typeOf<MyClass<int>>();
print(type);
}