Можно ли перечислить параметры класса Dart, используя dart:mirrors?

Допустим, у меня есть класс Person, определенный следующим образом:

class Person {
  String name;
  Person(this.name};
}

Есть ли способ получить список параметров класса Person с помощью dart:mirrors. По сути, я работаю над библиотекой, которая включает в себя отражение, и я хотел бы иметь возможность создавать логические значения с использованием параметров класса, например:

bool hasParam(T t) ...

ОБНОВИТЬ

Я пробовал следующее, но безрезультатно:

var cm = reflectClass(Person);
print(cm.typeArguments);

Когда я запускаю это, все, что я получаю, это пустой список.


person lucperkins    schedule 15.04.2014    source источник
comment
Я не уверен, что понимаю, что вы подразумеваете под параметрами Person. Можете ли вы объяснить, что вы хотите найти для класса Person?   -  person lrn    schedule 15.04.2014
comment
По сути, я пытаюсь найти способ создать следующий список для класса: List<String> personTypeArguments = ['name']. Что-то в этом духе. Или ['name','age','hobbies'], если это были аргументы типа для класса Person.   -  person lucperkins    schedule 16.04.2014


Ответы (1)


Вы можете использовать ClassMirror.typeArguments для получить список всех аргументов типа для типа.

person Alexandre Ardhuin    schedule 15.04.2014
comment
Мне почему-то кажется, что это не работает. Я изменю свой исходный вопрос, чтобы показать свои шаги. - person lucperkins; 16.04.2014
comment
Аргументы типа обычно используются для типов, передаваемых в универсальные классы, например, для new List<String>() аргумент типа (также называемый параметром типа) равен String. - person lrn; 16.04.2014