我有测试应用程序:
import 'dart:mirrors';
class A {
void eventHandlerInt(List<int> x){}
void eventHandlerBool(List<bool> x){}
}
void testMirrors(aFunction){
ClosureMirror mir = reflect(aFunction);
var param = mir.function.parameters.first;
//How to get the Type T of List<T> of the first param?
}
void main() {
var a = new A();
testMirrors(a.eventHandlerInt);
testMirrors(a.eventHandlerBool);
}
我希望能够找出传递给testMirrors
的方法的第一个参数的泛型类型,因此在上面的示例中它将是int
然后{{1} }。这甚至可能吗?如果我检查param,则type属性为null。
答案 0 :(得分:4)
List<TypeMirror> types = mir.function.parameters.first.type.typeArguments;
param.forEach((e) => print(e.simpleName));
打印
符号( “INT”)
符号( “布尔”)