1
У меня есть тестовое приложение:дротик, как получить общий тип параметра метода, используя отражение?
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
тогда bool
, Возможно ли это? если я проверяю параметр, свойство type равно null.
странно, я думаю, может быть наконечник дротика-редакторы осмотр инструмента есть ошибка в нем, что показывает null, когда он должен показывать действительное значение. Благодарю. – 0xor1
Я тоже это видел. Я думаю, что показывает отладчик - это локальное поле, и то, что вы получаете, является возвращаемым значением получателя. Геттер не обязательно возвращает значение аналогично названного поля. Типы и значения, возвращаемые из отражения, немного странны, потому что они являются некоторыми специальными типами VM и отличаются от классов, определенных только в Дарте. –