我没有成功找到Iterable
类的通用类型(例如Set<myGenericType>
或List<myOtherGenericType>
)。
例如:
如果instanceMirror.getField(myField).reflectee
是Set<Toto>
,那么我没有办法通过内省检索类型Toto
。
感谢您的帮助!
答案 0 :(得分:1)
import 'dart:mirrors';
class A<T> {
T item;
List<T> items;
}
main() {
var m = reflectType(new A<int>().runtimeType);
var itemType = m.declarations[#item].type as TypeMirror;
print('type of #item: ${itemType.qualifiedName}'); // type of #item: ClassMirror on 'int'.
var itemsType = m.declarations[#items].type as ClassMirror;
print('type of #items: ${itemsType.qualifiedName}'); // type of #items: ClassMirror on 'List'.
print('type arguments of #items: ${itemsType.typeArguments.map((t) => t.qualifiedName)}'); // type arguments of #items: [TypeVariableMirror on 'T'].
}